2016-01-22 37 views
1

我有一個文件,其中行看起來像這樣。列豬的計數字出現

('www.example.com', 'FirstName LastName', '12345', 'Firstname', 'Lastname', '1967-05-16', 'Organization name') 

用豬,我想指望有多少次相同的「組織名稱」按以下格式

'Count Result','www.example.com', 'FirstName LastName', 'Organization name' 

這裏,文件和輸出它的出現是我到目前爲止已經試過,我知道我就行了countOccurance失去了一些東西,但無法弄清楚:

data = LOAD 'data' AS (line:chararray); 
data = FOREACH data GENERATE line, REPLACE(REPLACE(line, '\\(',''),'\\)',''); 
data = FOREACH data GENERATE STRSPLIT(line, '\\,') as entity; 
grouped = GROUP data BY entity.$6; 
countOccurance = FOREACH grouped GENERATE group as entity.$6,COUNT(data); 
DUMP countOccurance; 
+0

根據當前每個拆分的單詞的輸入字數將只有一個。 –

+0

是的,但我把這個作爲一個例子,我有一個文件,其中包含約百萬條目 –

回答

1

這已經有一段時間,因爲我已經做了什麼豬,但我認爲你可以這樣做。

data = LOAD date USING pigstorage(',') AS (URL:chararray, FULLNAME:chararray, ..., COMPANYNAME:chararray); 
data = FOREACH (GROUP data BY COMPANYNAME) GENERATE COUNT(data.COMPANYNAME), data.URL, data.FULLNAME, data.COMPANYNAME; 
DUMP data; 

替換...與其他列名當然。