0

我正在使用Spark SQL 1.5.0,我有两个数据框,其中一个较小(小于3 MB),第二个较大,我想使用广播连接Spark SQL函数(强大的广播提示),但我得到的错误。 PF1数据框中有3点MB的数据Java断言失败 - 无广播提示计划

df1.join(broadcast(pf1)).show() 

java.lang.AssertionError: assertion failed: No plan for BroadcastHint. Unable to find it out solution(because of this my simple join taking morethan 40 min time without broadcast),

的卷的任何帮助赞赏

回答

0

您目前正在做一个跨不指定一个连接条件。添加一个连接条件,如col("pf1_id") === col("id")

然后连接应该快得多。如果您确实需要进行交叉连接,请详细说明更多代码,示例数据和更广泛的堆栈跟踪。

+0

嗨,我有我的连接条件,如下面的df1。加入(广播(df2),df1。列(a)。等于(df2。列(a)),内部) –

+0

您需要详细说明您的问题,因为即使提供广播提示也不一定会产生巨大影响性能。请指定您的DF的大小以及更多的代码,如果可能的话可能是DAG – Garren