apache-spark - 为什么 sortBy 转换会触发 Spark 作业?

标签 apache-spark rdd partitioning partitioner

根据 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/

相关文章:

eclipse - 如何使用Spark(Eclipse)从Elasticsearch读取数据并将其转换为表格格式

python - pyspark数据框中分组元素的分组和除法计数

python - 作为 PySpark 的 reduceByKey 键的列表

python - 如何将 RDD 保存到单个 Parquet 文件?

mysql - 向已经 HASH 分区的表添加额外的 HASH 分区

linux - 如何使parted始终显示相同的单位

apache-spark - 来自 Spark hivecontext 的查询会锁定 hive 表吗?

postgresql - 无法将 Apache Spark-2.1.0 与 Hive-2.1.1 元存储连接起来

scala - Spark : group concat equivalent in scala rdd

Azure 数据工厂根据行数动态分区 csv/txt 文件