2017-04-17 33 views
0

我有一張桌子,上面寫着人的名字,他去哪裏購物。我想找出每個超市名稱的最大出現次數。如何統計豬羣中的智慧

例如,在下面的文件中,如果Alan前往Costco購物的最大次數,則輸出應該有他的店名和店名以及他去過那裏的次數。我需要爲下面給出的文件中的所有人找到這個計數。

Alan Costco 
Ryan Walmart 
Jim Costco 
Steve WholeFoods 
Ryan WholeFoods 
Jim Walmart 
Alan Costco 
Ryan Walmart 
Jim Costco 
Steve WholeFoods 
Ryan WholeFoods 
Jim Walmart 
Alan Costco 
Ryan Walmart 
Jim Costco 
Steve WholeFoods 
Ryan WholeFoods 
Jim Walmart 
Alan Costco 
Ryan Walmart 
Jim Costco 
Steve WholeFoods 
Ryan WholeFoods 
Jim Walmart 
Alan Costco 
Ryan Walmart 
Jim Costco 
Steve WholeFoods 
Ryan WholeFoods 
Jim Walmart 
Alan Walmart 
Jim WholeFoods 
Ryan Costco 
Steve Walmart 

回答

0
shopdata = LOAD 'path_of_filename' USING PigStorage(',') as (name:bytearray,mall:bytearray); 

groupdata = group shopdata by (name,mall); 

reqdata = foreach groupdata generate group.name as customer,group.mall as shopping_mall,COUNT(shopdata.mall); 

dump reqdata; 
0

看到這裏的解釋上COUNT

A = LOAD 'file_path/test36.txt' USING PigStorage(' ') AS (a1 : chararray, a2 : chararray); 
B = GROUP A BY (a1,a2); 
C = FOREACH B GENERATE group,COUNT(A.a2) AS Total; 
DUMP C; 

enter image description here