2014-05-16 55 views
1

我有一個生成頁面瀏覽統計信息的Pig腳本。這裏有一個片段:組和計數與空組密鑰

pageview_content_age_tmp = 
    FOREACH pageviews GENERATE ((1398816000000L-created)/86400000L)/7L as age; 
pageview_content_age = 
    FOREACH pageview_content_age_tmp GENERATE (age>6L?6L:age) as age; 
content_created_hist = 
    FOREACH (group pageview_content_age by age) GENERATE group as age, 
    COUNT(pageview_content_age) as count; 
content_created_hist_sorted = ORDER content_created_hist by age; 
dump content_created_hist_sorted; 

這產生觀看的網頁歲的直方圖(created是當創建內容的時間戳),例如,

(,0) 
(0,8873) 
(1,6701) 
(2,9868) 
(3,6466) 
(4,12593) 
(5,4971) 
(6,51520) 

第一行​​對應於死角鍵。然而,事實證明,結果是錯誤的,即與空關鍵字相關的頁面瀏覽次數遠高於0(這是由於丟失數據造成的,這很好)。

根據the documentation for version 0.10.1,關係group pageview_content_age by age應該將所有對應於空關鍵字的頁面視圖記錄組合在一起,因爲它將一個單一的關係分組,但是一路上正在突破。我想知道是否以前的關係將年齡大於7歲的所有數據壓縮在一起,這些都是搞亂了事情。任何線索?

回答

1

COUNT忽略空值。您正在尋找COUNT_STAR

+0

我終於明白了這一點,但爲此感到讚歎。 –