scala - Spark Dataset聚合类似于RDD aggregate(zero)(accum, combiner)

标签 scala apache-spark apache-spark-sql rdd apache-spark-dataset

RDD 有一个非常有用的方法 aggregate,它允许累加一些零值并将其跨分区组合。有没有办法用 Dataset[T] 做到这一点。就我通过 Scala 文档看到的规范而言,实际上没有任何东西可以做到这一点。即使是 reduce 方法也只允许对以 T 作为两个参数的二元运算进行操作。有什么理由吗?如果有任何东西能够做到这一点?

非常感谢!

VK

最佳答案

有两个不同的类可用于在 Dataset API 中实现类似aggregate 的行为:

两者都提供额外的终结方法(分别为evaluatefinish),用于生成最终结果,可用于全局聚合和按键聚合。

关于scala - Spark Dataset聚合类似于RDD aggregate(zero)(accum, combiner),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42378806/

相关文章:

scala - Spark/Scala 并行写入 redis

apache-spark - 如何在 PySpark 的分组对象中插入一列?

scala - XMLEventReader 为单个标签生成两个 EvText 事件

scala - 如何在 Scala 中将 Spark 数据帧列表连接在一起?

scala - 如何从运行时参数指定 SLICK Query sortBy 列?

hadoop - 为什么有人会在 Tez 上运行 Spark/Flink?

apache-spark - databricks 增量格式文件无法读取

scala - JADE/SCALATE 模板错误 - InvalidSyntaxException

apache-spark - Spark sql 抛出 UTF8 字符串转换错误

python - 在 PySpark 中,使用 regexp_replace,如何用另一列的值替换一个组?