小编Cle*_*vas的帖子

Spark 2.0.0错误:PartitioningCollection要求其所有分区都具有相同的numPartitions

我在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)dataFrame1dataFrame2加盟之前,以及resultDataFrame之后的加入,但似乎没有什么影响了错误.在一些粗略的谷歌搜索后,我无法找到其他人得到错误的参考...

join apache-spark apache-spark-sql apache-spark-2.0

8
推荐指数
2
解决办法
1301
查看次数