Apache spark 为什么'spark.range(100).orderBy(';id';,ascending=False).rdd`不懒惰并触发操作?
Spark v2.4 pysparkApache spark 为什么'spark.range(100).orderBy(';id';,ascending=False).rdd`不懒惰并触发操作?,apache-spark,pyspark,rdd,pyspark-sql,Apache Spark,Pyspark,Rdd,Pyspark Sql,Spark v2.4 pyspark spark.range(100).orderBy('id', ascending=False).rdd 当我输入上述内容时,它会立即生成一个spark作业。我觉得很惊讶,因为我甚至没有指定一个动作 例如,spark.range(100)。重新分区(10,'id')。sortWithinPartitions('id')。rdd按预期工作,不会触发任何作业 一个相关的问题是 它确认RDDsortBy可以触发操作 但这里我使用的是数据帧spark.range(1
spark.range(100).orderBy('id', ascending=False).rdd
当我输入上述内容时,它会立即生成一个spark作业。我觉得很惊讶,因为我甚至没有指定一个动作
例如,spark.range(100)。重新分区(10,'id')。sortWithinPartitions('id')。rdd
按预期工作,不会触发任何作业
一个相关的问题是
它确认RDDsortBy
可以触发操作
但这里我使用的是数据帧<代码>spark.range(100).orderBy('id',升序=False)正常工作。只有当我访问
.rdd
时才会触发作业。并非所有转换都是100%延迟的。OrderBy需要评估RDD以确定数据范围,因此它同时涉及转换和操作 谢谢,这是相关的。但这里我使用的是数据帧<代码>spark.range(100).orderBy('id',升序=False)正常工作。只有当我访问.rdd