2017-06-02 9 views
0

同じ行数の2つのpysparkデータフレームがありますが、共通の列はありません。だから私はmonotonically_increasing_idを使用して、共通の列を持たない2つのpysparkデータフレームを結合するにはどうすればよいですか?

from pyspark.sql.functions import monotonically_increasing_id as mi 
id=mi() 
df1 = df1.withColumn("match_id", id) 
cont_data = cont_data.withColumn("match_id", id) 
cont_data = cont_data.join(df1,df1.match_id==cont_data.match_id, 'inner').drop(df1.match_id) 

としてmonotonically_increasing_idを()を使用して、それらの両方に新しい列を追加する。しかし後に得られるデータフレームを結合していた行の数が少ないです。 私はここで何が欠けています。ありがとう

+0

データセットは共通で何を持っていない場合は、結果が見えるように起こっているかに関係のソートされていませんか?あなたのデータセットがどのようにソートされるかは暗黙的/暗黙的な結合条件です。 –

答えて

1

あなたはしないでください。これは、定義不可能なmonotonically_increasing_idの適用ケースではありません。代わりに:

  • zipWithIndex
  • をRDDに変換はバックDataFrameに変換します。
  • join
関連する問題