0

次の構造を持つデータがあります-

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 スクリプトを手伝ってくれませんか?

データを読み込んで国名でグループ化できます。

4

1 に答える 1

2

次の形式の入力があるとします。

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)})
于 2013-06-19T19:08:00.293 に答える