如何避免PIG中的有符号零点

时间:2015-05-21 07:00:19

标签: hadoop apache-pig

我有两个双变量说A和B. A列始终具有正值,B列可以同时具有正值和负值。

当我试图划分以上两个变量时: A / B

B = FOREACH A GENERATE 0.0 / -5.4

结果

( - 0.0)

我期待值0.0,但我得到-0.0。 你能否建议我在PIG中缓解这个问题的方法。

1 个答案:

答案 0 :(得分:1)

最好选择bicond运营商(?:)。

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

输出:DUMP B

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