0
我有具有以下結構的數據 -如何使用拉丁語分組後找到類似的元組?
約翰美國 2瑪麗CN 3·史密斯美國 4約翰美國 5瑪麗CN
我需要找到每個國家重名。結果應該是這樣的 {US:(1,John,US),(4,John,US)} {CN:(2,Mary,CN),(5,Mary,CN)}。有人可以幫我用豬腳本來解決我的問題嗎?
我可以加載數據並按國名分組。
我有具有以下結構的數據 -如何使用拉丁語分組後找到類似的元組?
約翰美國 2瑪麗CN 3·史密斯美國 4約翰美國 5瑪麗CN
我需要找到每個國家重名。結果應該是這樣的 {US:(1,John,US),(4,John,US)} {CN:(2,Mary,CN),(5,Mary,CN)}。有人可以幫我用豬腳本來解決我的問題嗎?
我可以加載數據並按國名分組。
我假設你有以下格式輸入:
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)})