Apache spark 在Spark SQL视图中,批发性标记的时间数字是什么意思?

Apache spark 在Spark SQL视图中,批发性标记的时间数字是什么意思?,apache-spark,Apache Spark,这些数字: 4.34小时(0毫秒,0毫秒,3.09小时)我仍在学习Spark UI,但我相信对于所有任务的操作而言,它们是“持续时间(最小、中值、最大)”。在您的案例中,我相信他们的意思是,此操作的一项任务需要3.09小时,而其他任务需要接近0小时,此操作的所有任务的组合需要4.34小时 我认为这意味着数据没有正确地分区,因此在任务之间分布不均匀(即倾斜分区)。如果您在SQL选项卡中查看此操作,可以单击顶部的作业编号,然后单击包含此批发标签删除操作的阶段,并滚动到底部的“任务”部分,查看所有任

这些数字:


4.34小时(0毫秒,0毫秒,3.09小时)

我仍在学习Spark UI,但我相信对于所有任务的操作而言,它们是“持续时间(最小、中值、最大)”。在您的案例中,我相信他们的意思是,此操作的一项任务需要3.09小时,而其他任务需要接近0小时,此操作的所有任务的组合需要4.34小时

我认为这意味着数据没有正确地分区,因此在任务之间分布不均匀(即倾斜分区)。如果您在SQL选项卡中查看此操作,可以单击顶部的作业编号,然后单击包含此批发标签删除操作的阶段,并滚动到底部的“任务”部分,查看所有任务的“无序读取大小/记录”。如果其中一个任务异常大,Spark无法有效地并行运行任务。如果是这种情况,您可能希望查看数据的“适当分区”,“可能使用重新分区”,或者如果使用RDD而不是DATAFRAM,请考虑使用SCAPES优化器的DATAFRAME并生成有效的查询计划。 这些标签可以在以下代码中生成: