Apache pig 清管器记录计数不一致

Apache pig 清管器记录计数不一致,apache-pig,cloudera-cdh,Apache Pig,Cloudera Cdh,我正在运行一个简单的加载和计数函数,如下所示 my_src=使用PigStorage(“|”)作为 ( > ); my_count=FOREACH(GROUP my_src ALL)GENERATE count(my_src); 将我的_计数存储到'file1'中 我得到的答案是大约2.79亿行 现在,如果我运行组 my_grp=根据(键1、键2、键3、键4)对my_src进行分组 my\u grp\u cnt=FOREACH(GROUP my\u grp ALL)生成计数(my\u grp)

我正在运行一个简单的加载和计数函数,如下所示

my_src=使用PigStorage(“|”)作为 (

> );

my_count=FOREACH(GROUP my_src ALL)GENERATE count(my_src); 将我的_计数存储到'file1'中

我得到的答案是大约2.79亿行

现在,如果我运行组 my_grp=根据(键1、键2、键3、键4)对my_src进行分组

my\u grp\u cnt=FOREACH(GROUP my\u grp ALL)生成计数(my\u grp)

将我的_计数存储到'file2'中

我得到的答案是大约5.72亿行

我的期望是计数保持不变。有什么是我吗 在这里失踪


我在CDH 5上使用PIG 0.12实际上,我希望第二次计数更少。在对key1、key2、key3和key4进行分组后,行数将减少为(key1、key2、key3、key4)的唯一组合。你确定第二次计数大于第一次计数吗?好的,这是我们发现的。1) 我们使用的是计数函数,而不是计数开始。如果count函数在第一个字段中发现空值,则不管其余字段是什么,它都会完全忽略该行。因此,如果您在计算某个条件下的字段4,并且该行的字段1为空,则该行将被删除,您将无法获得所需的结果。我们通过重新排序字段并确保非空字段是第一个字段,然后是Vola来验证这一点!!计数函数给出了一个不同的结果。感谢您提供此信息!有记录吗?不是我能找到的。。