我在星火加入一些DataFrames在一起,我不斷收到以下錯誤:星火2.0.0錯誤:PartitioningCollection要求所有的分割中具有相同的numPartitions
PartitioningCollection requires all of its partitionings have the same numPartitions.
這似乎發生後,我加盟兩個數據框在一起,每個看起來都相當合理,但在加入它們後,如果我嘗試從連接的DataFrame獲取一行,則會出現此錯誤。我真的只是想明白爲什麼這個錯誤可能會出現,或者它背後的意義是什麼,因爲我似乎無法找到任何文檔。
下面的調用導致此異常:
val resultDataframe = dataFrame1
.join(dataFrame2,
$"first_column" === $"second_column").take(2)
,但我可以肯定的調用
dataFrame1.take(2)
和
dataFrame2.take(2)
我也試過重新分區DataFrames
,使用Dataset.repartition(numPartitions)
或Dataset.coalesce(numParitions)
在dataFrame1
和dataFrame2
加入之前和resultDataFrame
加入後,但似乎沒有任何影響的錯誤。我一直無法找到其他人在一些粗略的谷歌搜索後得到錯誤的參考...
感謝您對整合的展示以及可能希望成爲有用但即將公認的臨時解決方案的示範。我會嘗試一下,但是我認爲如果解決方案似乎沒有掌握更多的stackoverflow,我們可能會有一些錯誤報告。 –
還要注意,在版本1.6.x上,相同的代碼(禁止非常小的差異)按預期工作,不會崩潰,所以它聽起來像是一個錯誤。 –
你的臨時解決方案確實解決了這個問題!我毫不猶豫地將它標記爲答案,除非沒有其他人迴應,否則我們決定前往火花JIRA,那麼也可以,但謝謝。 –