根据 Spark 文档,只有 RDD 操作可以触发 Spark 作业,并且在调用操作时会延迟评估转换。
我看到 sortBy
转换函数立即应用,并且在 SparkUI 中显示为作业触发器。为什么?
最佳答案
sortBy
使用 sortByKey
实现,它依赖于 RangePartitioner
(JVM) 或分区函数 (Python)。当您调用 sortBy
/sortByKey
分区器(分区函数)时,会立即初始化并对输入 RDD 进行采样以计算分区边界。您看到的作业对应于此流程。
仅当您对新创建的 RDD 或其后代执行操作时,才会执行实际排序。
关于apache-spark - 为什么 sortBy 转换会触发 Spark 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46895479/