如何避免pig中的有符号零

9jyewag0  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(317)

我有两个双变量,a和b。a列总是有正值,b列可以同时有正值和负值。
当我试图划分上述两个变量时:a/b
b=每个a生成0.0/-5.4

结果

(-0.0)
我期望值为0.0,但我得到的却是-0.0。你能给我建议如何减轻Pig的这个问题吗。

gblwokeq

gblwokeq1#

最好使用双色算子(?:)。

A = LOAD 'a.csv' using PigStorage(',') AS (a:double,b:double);
B = FOREACH A GENERATE (a == 0 ? a : ((b == 0) ? NULL :  a/b)) AS c;
DUMP B;

输入:a.csv

0.0,-5.0
 -4.0,-2.0
 -4.0,2.0
 5.0,0

输出:转储b

(0.0)
 (2.0)
 (-2.0)
 ()

相关问题