我正在尝试计算字段中某个值的总数百分比。
例如,对于数据 (name, ct)
(约翰, 1000) (丹, 2000) (利兹, 2000)
我希望输出为(名称,ct 占总数的百分比)
(约翰, .2) (丹, .4) (莉兹, .4)
data = load 'fakedata.txt' as (name:chararray,sqr:chararray,ct:int);
A = foreach data generate name, ct;
A = FILTER A by ct is not null;
B = group A all;
C = foreach B generate SUM(A.ct) as tot;
D = foreach A generate name, ct/(double)C.tot;
dump D;
错误 org.apache.pig.tools.grunt.Grunt - 错误 1000:解析期间出错。无效的别名:C in {name: bytearray,ct: int}
我完全按照http://pig.apache.org/docs/r0.10.0/basic.html 部分中给出的示例代码 - “将关系转换为标量”
如果我说 Dump C,则输出正确生成为 5000。因此 D 中存在问题。非常感谢任何帮助。