火花阶段DAG可视化UI中的蓝色块是什么意思?

时间:2016-11-14 13:35:56

标签: apache-spark

在下面的应用程序UI片段中,每个阶段的蓝色块代表什么?

做什么"交换"和#34; WholeStageCodeGen"等等意味着什么?

我在哪里可以找到资源来解释这里有什么火花?

非常感谢

What are the blue blocks? What do their names represent?

1 个答案:

答案 0 :(得分:15)

每个蓝框都是Apache Spark工作的步骤。

你问的是WholeStageCodegen这个东西是:

  

全阶段代码生成(又名WholeStageCodegen或WholeStageCodegenExec)将多个运算符(作为支持codegen的计划子树)融合在一起,形成一个旨在提高执行性能的Java函数。它将查询折叠为单个优化函数,该函数消除了虚函数调用,并利用CPU寄存器获取中间数据。

您可以在此处查看详细信息SPARK-12795

交换意味着更多细节之间的Shuffle Exchange:

  

ShuffleExchange是一个一元的物理运算符。它对应于Repartition(启用了shuffle)和RepartitionByExpression逻辑运算符(在BasicOperators策略中翻译)。

您可以使用explain command

在代码中获取所有这些信息

每个步骤都会显示您的数据帧将要执行的操作,如果您的逻辑是正确的,这很好。如果您想了解有关Spark UI的更多详细信息,我建议您查看Spark Summit的this演示文稿,并阅读有关执行计划的this文章。

这些信息将向您展示更多关于您的疑问。