我有一种关系,我们会调用A,看起来像这样
--------------------------------
id page item paid
--------------------------------
1 pdp A
1 pdp B
1 chekcout B 9.99
2 pdp C
2 checkout C 100.00
我正在尝试按ID和页面进行分组,然后使用类似
之类的内容对付费列进行求和grpd = GROUP A BY (id, page);
return = FOREACH grpd GENERATE FLATTEN(group), SUM(A.paid) AS total_paid:float;
操作会运行但是当我illustrate
或dump
时,Pig会抛出错误
错误2103:在双打上工作时出现问题
我假设Pig遇到问题,因为SUM()
页面为pdp时总是NULL
但是当页面结帐时,SUM()
将是float
类型。我尝试使用三元运算符,类似于....
B = FOREACH A GENERATE (price IS NULL ? 0 : price);
用零填写NULL
,但这似乎不起作用。