次のデータを含むファイルに2つのデータセットがあります(各ファイルに約500ミリノン行)。
Dataset1:
a1
a2
a3
a4
Dataset2:
a1
a2
Dataset2に存在しないDataset1の要素を検索したいので、結果は次のようになります。
Dataset3
a3
a4
Hadoopでこれを行うための最良の方法は何ですか?参加関連のメカニズム、または豚、または他の何か?ありがとう。
次のデータを含むファイルに2つのデータセットがあります(各ファイルに約500ミリノン行)。
Dataset1:
a1
a2
a3
a4
Dataset2:
a1
a2
Dataset2に存在しないDataset1の要素を検索したいので、結果は次のようになります。
Dataset3
a3
a4
Hadoopでこれを行うための最良の方法は何ですか?参加関連のメカニズム、または豚、または他の何か?ありがとう。
COGROUP
これは、オペレーターを使用して Pig で簡単に行うことができます。
dataset1 = LOAD '/path/to/dataset1' USING PigStorage('\n') AS (line:chararray);
dataset2 = LOAD '/path/to/dataset2' USING PigStorage('\n') AS (line:chararray);
grpd = COGROUP dataset1 BY line, dataset2 BY line;
d1_only = FOREACH (FILTER grpd BY IsEmpty(dataset2)) GENERATE FLATTEN(dataset1);