当广播的数据帧为空时,Pyspark 1.6.3广播联接在群集上失败

时间:2018-12-04 15:28:02

标签: apache-spark pyspark apache-spark-sql pyspark-sql

我们有pyspark进程(以纱线簇模式运行),该进程连接了2个表,并且当表的两面都包含少量数据时,该连接运行良好。 但是,如果一侧有合理数量的数据(例如500万行,大小为2GB),而广播的一侧为空,则联接会导致内存不足错误。

我们要解决的问题是通过以下方式禁用广播加入:

SET spark.sql.autoBroadcastJoinThreshold = -1

我们可以想到的另一种方法是在联接之前检查可能为空的一侧,即,如果一侧为空,则根本不进行联接。

但是有更好的方法解决这个问题吗?还是某种设置问题?

0 个答案:

没有答案