0
データフレームAとBが異なるスキーマを持っているため、AからBへ行を挿入したい。異なるスキーマを持つ別のデータフレームにデータフレームを挿入するにはどうすればよいですか?
環境はSpark 1.6なので、2つのデータフレームに同じ列がある場合はunionAll関数を使用できます。
のスキーマ:
B用root
|--a
|--b
スキーマ:
root
|--a
|--b
|--c
|--d
| |--d_1
| |--d_2
| |--d_3
私はdatafrane Bに列 "A" と "B" を挿入し、他の列を空白のままにする必要があります。とB列ペアを想定し
を外部結合しますprintSchema、a、b、c、d(d_1、d_2、d_3)、a、bの6つの列があることを示す結果。 "a"と "b"列は重複しています –
@PingjiangLi Sparkには複数の結合APIがあります。使用しているものは、参加する列を両方のDataFrameから保持します。私が提案したものは重複する列を作成しません。だから、このようになります、 'B.join(A、usingColumns =配列(「A」)、「外側」)' しかし、あなたは、両方のデータフレームの列bを持っていて、Bを考慮していないとして、あなたが終わりのスキーマに加わるとき、これはa、b、c、d(d_1、d_2、d_3)、b –