約20個のIDのリストでテーブルをフィルタリングしています。現在、私のコードは次のようになっています。
A = LOAD 'ids.txt' USING PigStorage();
B = LOAD 'massive_table' USING PigStorage();
C = JOIN A BY $0, B BY $0;
D = FOREACH C GENERATE $1, $2, $3, $4, ...
STORE D INTO 'foo' USING PigStorage();
私が気に入らないのは行Dです。ここでは、存在させたい他のすべての列(場合によっては多数の列)を明示的に宣言して、結合列を削除するために新しいテーブルを再生成する必要があります。私は次のものと同等のものがあるかどうか疑問に思っています:
FILTER B BY $0 IN (A)
また:
DROP $0 FROM C