2016-05-13 63 views
1

我有樣本數據集看起來是這樣的:計數主題標籤拉丁

tmj_dc_mgmt, Washington, en, 483, 457, 256, ['hiring', 'BusinessMgmt', 'Washington', 'Job'] 
SRiku0728, 福山市, ja, 6705, 357, 273, ['None'] 
BesiktaSeyma_, Akyurt, tr, 12921, 1801, 283, ['None'] 
AnnaKFrick, Virginia, en, 5731, 682, 1120, ['Investment', 'PPP', 'Bogota', 'jobs'] 
Accprimary, Manchester, en, 1650, 268, 404, ['None'] 

內方括號的數據被井號標籤,我希望計算整個列表頂部10#標籤。

我已經達到這麼遠,不知道如何進一步移動。

twitter_feed = LOAD '/twitter-data-mining/15' USING PigStorage(','); 

hash_tags = FOREACH twitter_feed GENERATE $7; 

fallten = FILTER hash_tags BY $1 MATCHES '\w+'|'\w+(\s\w+)*' 

DUMP fallten; 

方向是否正確任何幫助,將不勝感激

謝謝!

+0

fallten包含什麼?另外使用','的數據不會給你正確的結果。 –

+0

fallten並沒有給我正確的結果,我想知道如果我可以提取單引號內只有哈希標籤。 –

回答

3

加載語句不正確。有兩種方法可以實現這個功能來獲取hashtags。第一種方法是使用'['加載然後操作字符串來計數hashtags。第二種方法是加載整個行並使用regex_extract_all獲取井號標籤。我列出了第一種方法。參見下面的

  1. 使用'['作爲分隔符將加載2個字段。
  2. 提取第二個字段,即$ 1,並替換右括號']'和 所有引號'''。
  3. 將結果字段標記爲獲取所有標籤。
  4. ,過濾掉不符合「無」
  5. 集團的井號標籤
  6. 的主題標籤計數的分組

注:我不改變的主題標籤的情況下,因爲它是瑣碎

A = LOAD 'test10.txt' USING PigStorage('['); 
B = FOREACH A GENERATE REPLACE(REPLACE($1,']',''),'\'',''); 
C = FOREACH B GENERATE FLATTEN(TOKENIZE(*)); 
D = FILTER C BY NOT($0 MATCHES 'None'); 
E = GROUP D by $0; 
F = FOREACH E GENERATE group,COUNT(D.$0); 
DUMP F; 

輸出

Output