9

Spark でいくつかの DataFrame を結合していますが、次のエラーが発生し続けます。

PartitioningCollection requires all of its partitionings have the same numPartitions.

2 つの DataFrame を結合した後に発生するようですが、それぞれが単独ではかなり合理的ですが、それらを結合した後、結合された DataFrame から行を取得しようとすると、このエラーが発生します。このエラーが表示される理由、またはその背後にある意味を理解しようとしているだけです。これに関するドキュメントが見つからないようです。

次の呼び出しでは、この例外が発生します。

val resultDataframe = dataFrame1
  .join(dataFrame2,     
    $"first_column" === $"second_column").take(2)

しかし、私は確かに呼び出すことができます

dataFrame1.take(2)

dataFrame2.take(2)

また、参加前と参加前、および参加後にorをDataFrames使用しての再パーティション化を試みましたが、エラーには何も影響しなかったようです。大雑把なグーグル検索の後でエラーが発生した他の個人への参照を見つけることができませんでした...Dataset.repartition(numPartitions)Dataset.coalesce(numParitions)dataFrame1dataFrame2resultDataFrame

4

4 に答える 4

9

私も同じ問題を抱えていました。私にとっては、結合の選択部分(結合句自体ではなく)からいくつかの列を削除した後に発生しました。

データフレームを呼び出すことで修正できまし.repartition()た。

于 2016-10-19T08:14:42.270 に答える