apache-spark - 我们应该在 dataframe 上使用 groupBy 还是 reduceBy

标签 apache-spark group-by spark-dataframe

<分区>

虽然groupBy apache 中的数据框会产生 Spark ,但随后会与数据框中的另一列进行聚合。有任何性能问题吗? reduceBy 是更好的选择吗?

df.groupBy("primaryKey").agg(max("another column"))

最佳答案

在 groupBy 中,reduce 作业将按顺序执行,但在 reduceByKey 中,内部 spark 并行运行多个 reduce 作业,因为它知道 key 并针对 key 运行 reduce。 ReduceByKey 提供比 groupBy 更好的性能。 您可以对两者运行聚合。

关于apache-spark - 我们应该在 dataframe 上使用 groupBy 还是 reduceBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49505101/

相关文章:

r - 如何按两个条件进行分组并计算所有行是否满足另一个条件

apache-spark - 从结构数组中选择 Spark DataFrames 中的特定列

apache-spark - spark-sql 表或 View 未找到错误

python - PySpark - 检查值列表是否存在于 Dataframe 的任何列中

scala - Spark的最终任务比前199次需要100倍的时间,如何改进

php - 按条件分组连接两个表

sql - 在SQLite中滥用聚合

apache-spark - 计算Spark数据帧的大小-SizeEstimator提供意外结果

database - Spark 1.3 中如何在 Hive 中指示 SparkSQL 中的数据库

apache-spark - 尝试将 Spark 1.6.X Parquet 读入 Spark 2.X 的警告