Apache spark 为什么在Spark UI for RDD中只显示转换而不显示操作的作业条目
我有一个文本文件作为源:-Apache spark 为什么在Spark UI for RDD中只显示转换而不显示操作的作业条目,apache-spark,rdd,Apache Spark,Rdd,我有一个文本文件作为源:- key1,value1 key2,value2 key3,value3 key4,value4 我在Scala shell中定义了以下RDD:- val rdd=sc.textFile("sample.txt").map(_.split(",")).map(x=>( x(0),x(1) )).sortByKey() 正如您所看到的,这里只有转换,没有操作。根据Spark的懒惰评估规则,它不应该触发任何作业。但是这个声明本身触发了一个作业,我可以从Spark
key1,value1
key2,value2
key3,value3
key4,value4
我在Scala shell中定义了以下RDD:-
val rdd=sc.textFile("sample.txt").map(_.split(",")).map(x=>( x(0),x(1) )).sortByKey()
正如您所看到的,这里只有转换,没有操作。根据Spark的懒惰评估规则,它不应该触发任何作业。但是这个声明本身触发了一个作业,我可以从Spark UI中的新作业条目中确认。有趣的是,这某种程度上是由sortByKey操作引起的。我知道sortByKey会导致分区之间的混乱。但这也应该只有在最终需要采取行动时才会发生。另一个谜是,如果我用groupByKey替换sortByKey,它不会触发作业,即使这两个操作都会导致洗牌。因此,这里有两个关键问题