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

Tha*_*Guy 10 apache-spark

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

"Exchange"和"WholeStageCodeGen"等意味着什么?

我在哪里可以找到一个资源来解释火花在这里做了什么?

非常感谢

什么是蓝色块? 他们的名字代表什么?

Thi*_*dim 19

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

你问WholeStageCodegen这个东西是:

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

你可以在这里看到SPARK-12795的详细信息

交换意味着工作之间的Shuffle Exchange更详细:

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

您可以使用该命令在代码中获取所有这些信息explain

每个步骤都会显示您的数据帧将要执行的操作,如果您的逻辑是正确的,这很好.如果您想了解星火UI更多的细节,我建议你看看这个星火峰会的介绍,并阅读文章有关的执行计划.

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

  • 解释命令对于检查 Spark 所做的优化非常有用。 (2认同)