我有一个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)
对应于null键。然而,事实证明结果是错误的,即与空键相关联的页面视图的数量远远高于0(这是由丢失的数据引起的,这很好)。
根据the documentation for version 0.10.1,关系group pageview_content_age by age
应该将所有与空键对应的页面视图记录组合在一起,因为它正在对单个关系进行分组,但是有些东西正在打破。我想知道以前的关系是否会随着年龄的增长而压缩所有数据> 7这就是弄乱了。任何线索?