apache-spark - 如何使用 Spark(Java) 在数据集的所有列上并行应用相同的函数

标签 apache-spark dataframe apache-spark-sql apache-spark-mllib

我有一个具有一些分类特征的数据集。我正在尝试对 Spark 框架中的所有这些分类功能应用完全相同的功能。我的第一个假设是我可以将每个功能的操作与其他功能的操作并行化。但是我不知道是否可能(阅读后感到困惑 thisthis )。

例如,假设我的数据集如下:

feature1, feature2, feature3
blue,apple,snake
orange,orange,monkey
blue,orange,horse

我想分别计算每个特征的每个类别的出现次数。例如对于特征 1 (blue=2, orange=1)

最佳答案

TL;博士 Spark SQL 的数据帧不是按列拆分而是按行拆分,因此除非您使用 select 拆分源数据集,否则 Spark 处理每个任务的行组(不是列)。 - 类似运算符。

如果你想:

count the number of occurrences of each category for each feature, separately



只需使用 groupBycount (也许使用 join )或使用窗口(使用窗口聚合函数)。

关于apache-spark - 如何使用 Spark(Java) 在数据集的所有列上并行应用相同的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44193287/

相关文章:

python - 根据其他列的条件填充空的 Pandas 列

scala - 如何在 Spark 中创建一个空的数据帧

scala - Spark : How to perform undersampling on LabeledPoint?

hadoop - 使用pyspark从hdfs读取文件时拒绝连接

python - Pandas 数据框中的行操作

pandas - MultiIndex Pandas DataFrame 到 Spark DataFrame 和缺失索引

apache-spark - Spark SQL 与 Databricks SQL

scala - Spark : Get max consecutive decrease in value

Java - 有没有一种方法可以在不迭代的情况下查询 Apache Spark 模式?

r - 使用 sapply 的列表和矩阵