次の構造を持つデータがあります-
1 ジョン US 2 メアリー CN 3 スミス US 4 ジョン US 5 メアリー CN
各国で重複する名前を見つける必要があります。結果は {US : (1, John, US),(4,John, US)} {CN : (2, Mary, CN),(5, Mary, CN)} のようになります。誰かが私の問題に対する Pig スクリプトを手伝ってくれませんか?
データを読み込んで国名でグループ化できます。
次の構造を持つデータがあります-
1 ジョン US 2 メアリー CN 3 スミス US 4 ジョン US 5 メアリー CN
各国で重複する名前を見つける必要があります。結果は {US : (1, John, US),(4,John, US)} {CN : (2, Mary, CN),(5, Mary, CN)} のようになります。誰かが私の問題に対する Pig スクリプトを手伝ってくれませんか?
データを読み込んで国名でグループ化できます。
次の形式の入力があるとします。
1 John US
2 Mary CN
3 Smith US
4 John US
5 Mary CN
その場合、次のことが考えられます。
A = load 'data.txt' using PigStorage(' ')
as (id:int, name:chararray, country:chararray);
B = foreach (group A by (country, name)) generate group.country, A,
COUNT(A) as count;
C = foreach (FILTER B by count > (long)1) generate country, A;
dump C;
(CN,{(2,Mary,CN),(5,Mary,CN)})
(US,{(1,John,US),(4,John,US)})