【发布时间】:2017-08-12 10:10:32
【问题描述】:
我正在尝试使用 Apache Pig 来表征具有某些属性的行的分数。
例如,如果数据如下所示:
a,15
a,16
a,17
b,3
b,16
我想得到:
a,0.6
b,0.4
我正在尝试执行以下操作:
A = LOAD 'my file' USING PigStorage(',');
total = FOREACH (GROUP A ALL) GENERATE COUNT(A);
这给了我总计 = (5),但是当我尝试使用这个“总计”时:
fractions = FOREACH (GROUP A by $0) GENERATE COUNT(A)/total;
我得到一个错误。
显然 COUNT() 返回某种投影,并且两个投影(在计算总数和分数时)应该是一致的。有没有办法使这项工作?或者只是将总数转换为一个数字并避免这种投影一致性要求?
【问题讨论】:
标签: apache-pig