複数のテーブルに参加する必要があります。私が使用しているコマンドは次のとおりです。
G = JOIN aa BY f, bb by f, cc by f, dd by f;
完全な外部結合にするために、次のFULL
ように追加しました。
G = JOIN aa BY f FULL, bb by f, cc by f, dd by f;
しかし、mismatched input
エラーメッセージが表示されます。これを機能させるにはどうすればよいですか?
ありがとう!
複数のテーブルに参加する必要があります。私が使用しているコマンドは次のとおりです。
G = JOIN aa BY f, bb by f, cc by f, dd by f;
完全な外部結合にするために、次のFULL
ように追加しました。
G = JOIN aa BY f FULL, bb by f, cc by f, dd by f;
しかし、mismatched input
エラーメッセージが表示されます。これを機能させるにはどうすればよいですか?
ありがとう!
豚のドキュメントによると:
外部結合は双方向結合でのみ機能します。多方向外部結合を実行するには、複数の双方向外部結合ステートメントを実行する必要があります。
COGROUP ステートメントを使用して、完全外部結合を模倣できます。たとえば、次の 2 つのファイルを使用して cogroup
小数.csv
first|1
second|2
fourth|4
ローマン.csv
first|I
second|II
third|III
豚のコマンド:
english = LOAD 'Decimal.csv' using PigStorage('|') as (name:chararray,value:chararray);
roman = LOAD 'Roman.csv' using PigStorage('|') as (name:chararray, value:chararray);
multi = cogroup english by name, roman by name;
dump multi
出力:
(first,{(first,1)},{(first,I)})
(third,{},{(third,III)})
(fourth,{(fourth,4)},{})
(second,{(second,2)},{(second,II)})