Apache Spark:操作和作业之间的关系,Spark UI

时间:2018-10-23 19:52:31

标签: apache-spark dataframe spark-ui

据我所知,到目前为止,每当在数据集/数据帧上调用动作时,都会提交作业。这项工作可以进一步划分为阶段和任务,据我了解,如何找出阶段和任务的数量。下面给出的是我的小代码

    val spark = SparkSession.builder().master("local").getOrCreate()


    val df = spark.read.json("/Users/vipulrajan/Downloads/demoStuff/data/rows/*.json").select("user_id", "os", "datetime", "response_time_ms")


    df.show()

    df.groupBy("user_id").count().show

据我所知,我在阅读时应该在第4行提交了一份工作。一个在第一个节目中,一个在第二个节目中。前两个假设是正确的,但第二个显示它提交了5个工作。我不明白为什么。下面是我的用户界面的屏幕截图

enter image description here

如您所见,作业0用于读取json,作业1用于第一个节目,而5个作业用于第二个节目。谁能帮助我了解spark UI中的这项工作是什么?

1 个答案:

答案 0 :(得分:0)

添加类似 df.groupBy("user_id").count().explain() 看看,最后一个show()的实际含义是什么。