Apache Spark 2.4:为什么会有 "No Broadcast"?

Apache Spark 2.4: Why is there "No Broadcast"?

我已经用

配置了 spark-submit

"--conf", "spark.sql.autoBroadcastJoinThreshold=536870912", 512MB

但 DAG 仍未广播连接的较小端。

代码是一个简单的连接。所以我想知道出了什么问题。

输入是parquet文件,存储在S3上。

如果进一步分析需要更多信息,请告诉我。

我的猜测是配置 spark.sql.autoBroadcastJoinThreshold 在某处被覆盖或设置不正确。如果找到它,您应该检查 Spark UI 的 Environment 选项卡并检查它是否设置正确。 如果您只需要快速修复,您还可以使用提示 .broadcast 在您已知很小的数据集上强制广播。

根据这篇博客,

BHJ is not supported for a full outer join. For right outer join, the only left side table can be broadcasted and for other left joins only right table can be broadcasted.

这就是广播没有发生的原因。