4

迄今为止,据我所知,只要在数据集/数据帧上调用操作,就会在 spark 中提交作业。作业可能进一步分为阶段和任务,我了解如何找出阶段和任务的数量。下面给出的是我的小代码

    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 个工作。我不明白为什么。下面是我的用户界面截图

在此处输入图像描述

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

4

1 回答 1

0

添加一些类似 df.groupBy("user_id").count().explain() 的东西,看看你最后一个show().

于 2018-11-08T17:19:10.520 回答