我在Spark中加入一些DataFrames并且我一直收到以下错误:
PartitioningCollection requires all of its partitionings have the same numPartitions.
Run Code Online (Sandbox Code Playgroud)
这似乎发生在我将两个DataFrame连接在一起后,每个看起来都相当合理,但加入后,如果我尝试从连接的DataFrame中获取一行,我会收到此错误.我真的只是想了解为什么会出现这个错误或者它背后的含义是什么,因为我似乎无法找到任何关于它的文档.
以下调用导致此异常:
val resultDataframe = dataFrame1
.join(dataFrame2,
$"first_column" === $"second_column").take(2)
Run Code Online (Sandbox Code Playgroud)
但我当然可以打电话
dataFrame1.take(2)
Run Code Online (Sandbox Code Playgroud)
和
dataFrame2.take(2)
Run Code Online (Sandbox Code Playgroud)
我也试过重新分区DataFrames
,使用Dataset.repartition(numPartitions)
或Dataset.coalesce(numParitions)
在dataFrame1
与dataFrame2
加盟之前,以及resultDataFrame
之后的加入,但似乎没有什么影响了错误.在一些粗略的谷歌搜索后,我无法找到其他人得到错误的参考...