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