问题标签 [apache-spark-dataset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5908 浏览

scala - Spark Dataset : Example : Unable to generate an encoder issue

New to spark world and trying a dataset example written in scala that I found online

On running it through SBT , i keep on getting the following error

org.apache.spark.sql.AnalysisException: Unable to generate an encoder for inner class

Any idea what am i overlooking

Also feel free to point out better way of writing the same dataset example

Thanks

Code :

JSON file ( student.json) :

0 投票
1 回答
160 浏览

scala - Apache Spark RDD 替换

我正在尝试解决一个问题,例如我有一个这样的数据集:

由于 (1 -> 2)and (2 -> 7),我想将集合替换(2, 7)(1, 7) 类似,(3 -> 7)(7 -> 4)替换(7,4)(3, 4)

因此,我的数据集变成

知道如何解决或解决这个问题吗?

谢谢

0 投票
1 回答
635 浏览

python - Selecting random columns for each group of pyspark RDD/dataframe

My dataframe as got 10,0000 columns, I have to apply some logic on each group (key is region and dept). Each group will use max 30 columns from 10k columns, the 30 columns list is from the second data set column "colList". Each group will have 2-3 millions rows. My approach is to do group by key and call function like below. But it fails - 1. shuffle and 2.data group is more than 2G(can be solved by re-partition but its costly), 3. very slow

#xA;

Input:

#xA;

Columns to pick for each group: (data set 2)

#xA;

My second solution is create a new data set from input data with only 30 columns and rename the columns to col1 to col30. Then use a mapping list for each columns and group. Then i can apply groupbyKey (assuming), which will be Skinner than original input of 10K columns.

#xA;

Can any one help to convert Input with 10K to 30 columns? Or any other alternative should be fine to avoid group by.

0 投票
1 回答
938 浏览

scala - 来自 Dataset 的 RDD 导致 Spark 2.x 的序列化错误

我有一个使用 Databricks 笔记本从数据集创建的 RDD。

当我尝试从中获取具体值时,它只是失败并显示序列化错误消息。

这是我获取数据的地方(PageCount 是一个 Case 类):

然后当我这样做时:

我得到以下异常:

即使对数据集的相同尝试有效:

编辑 :

这是完整的堆栈跟踪

0 投票
0 回答
251 浏览

scala - DataFrames for Apache Spark MLLib 在线实时单项预测,认真的吗?

训练完 mllib 模型后,我是否必须将在线系统中的每个传入项目转换为 DataFrame 才能在其上调用类似预测/转换的方法?看起来有点矫枉过正,很容易出现与时间/内存相关的问题。

我可以以某种方式构建/转换/预测一行,或者类似的东西吗?(Scala 中的解决方案更可取)

我找到了一个文本,作者说他们为此实现了自己的一些东西:https ://www.oreilly.com/ideas/training-and-serving-nlp-models-using-spark-mllib

0 投票
1 回答
2939 浏览

apache-spark - Spark 数据集 - 强类型

关于 Spark 数据集,什么是强类型 API 和无类型 API?

数据集与 DataFrame 有何相似/不同?

0 投票
3 回答
4722 浏览

java - 如何在数据集apache spark java中解析多行json

有什么方法可以使用 Dataset 解析多行 json 文件,这里是示例代码

如果 json 在单行中,它可以完美地工作,但我需要它用于多行

我的 json 文件

0 投票
4 回答
998 浏览

apache-spark - 如何在 Spark DataFrame/DataSet 中将行拆分为不同的列?

假设我有如下数据集:

我想拆分此数据集的行,以便消除 Y2 列,例如:

有人可以在这里提出一些建议吗?我希望我已经把我的问题说清楚了。提前致谢。

0 投票
2 回答
2811 浏览

scala - Spark / Scala:用最后的良好观察填充 nan

我正在使用 spark 2.0.1 并希望用列中最后一个众所周知的值填充 nan 值。

我能找到 Spark / Scala 的唯一参考火花:使用最后一次观察进行前向填充或使用似乎使用 RDD的 pyspark 使用先前已知的良好值填充 null 。

我宁愿呆在数据框/数据集世界中,并可能处理多个 nan 值。这可能吗?

我的假设是数据(最初从例如 CSV 文件加载按时间排序,并且此顺序保留在分布式设置中,例如按关闭/最后一个已知值填充是正确的。也许用以前的值填充对于大多数人来说就足够了记录连续没有2个或更多的nan记录。这真的成立吗?关键是a

会破坏任何订单,例如所有null值都将排在第一位。

一个小例子:

结果是

我想用最后一个已知的值来修复这个值。我怎样才能做到这一点?

编辑

就我而言,填充上面行中的值就足够了,因为只有非常有限的错误值。

编辑2

我尝试添加一个索引列

然后填充最后一个值。

但这会显示以下警告: 没有为窗口操作定义分区!将所有数据移动到单个分区,这可能会导致严重的性能下降。我怎样才能引入有意义的分区?

0 投票
3 回答
7819 浏览

scala - Spark 2.0 数据集与数据帧

从 spark 2.0.1 开始我有一些问题。我阅读了很多文档,但到目前为止找不到足够的答案:

  • 和有什么区别
    • df.select("foo")
    • df.select($"foo")
  • 我理解正确吗
    • myDataSet.map(foo.someVal)是类型安全的,不会转换为RDD但保留在 DataSet 表示中/没有额外的开销(2.0.0 的性能明智)
  • 所有其他命令,例如 select、.. 只是语法糖。它们不是类型安全的,可以使用映射。df.select("foo")如果没有 map 语句 ,我怎么能保证类型安全?
    • 为什么我应该使用 UDF / UADF 而不是地图(假设地图保留在数据集表示中)?