【发布时间】:2018-04-06 10:51:32
【问题描述】:
如果做这样的事情:
val data = List.range(2, 11000000)
val distData = sparkSession.sparkContext.parallelize(data)
我得到了回复等,但是当我检查 Spark UI 时,我发现这项工作没有 Job。
当我做这样的事情时......
// read in text file and split each document into words
val tokenized = sparkContext.textFile("README.md").flatMap(_.split(" "))
// count the occurrence of each word
val wordCounts = tokenized.map((_, 1)).reduceByKey(_ + _)
有。
所以我很困惑为什么有时它会生成作业,有时却不会?
【问题讨论】:
-
这是动作和转换之间的基本区别。尝试阅读 RDD 编程指南,这种差异将在前几段中突出显示。这是链接:spark.apache.org/docs/latest/…
-
这是一个答案。通过向第一个 RDD 添加一个动作,例如reduce() 它开始了工作没有第一个操作是惰性的并且不会发生,因为它是一个转换。
标签: scala apache-spark rdd