Apache pig ApachePig:处理双打时出错2103

Apache pig ApachePig:处理双打时出错2103,apache-pig,Apache Pig,我有一个亲戚,我们会叫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和页面分组,

我有一个亲戚,我们会叫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;
该操作正在运行,但当I
说明
转储
时,Pig抛出错误

错误2103:在双打上工作时出现问题

我假设Pig有问题,因为页面为pdp的
SUM()。我试着用三元运算符,比如

B = FOREACH A GENERATE (price IS NULL ? 0 : price);

用零填充
NULL
,但这似乎不起作用。

您的问题不在于空值 将自动忽略它们

我的猜测是,您的问题在于加载数据的方式,您希望结果为float。加载数据时是否指定了数据类型

如果尚未指定数据类型,Pig将自动使用double as。然后SUM也将使用双精度数据类型和结果

DUMP和Diagram可能无法处理从double到long的数据类型转换

加载数据时,请尝试指定“以浮动方式支付”的数据类型,或将“支付总额”的数据类型更改为“双倍”

我面临着同样的问题“长时间工作的问题”。我还更改了加载数据的方式,仍然面临相同的错误:-(