如何避免 PIG 中的符号零
How to avoid signed zero in PIG
我有两个双变量,比如 A 和 B。
A 列将始终具有正值,B 列可以同时具有正值和负值。
当我试图划分以上两个变量时:
A/B
B = FOREACH A 生成
0.0/-5.4
结果
(-0.0)
我期望值为 0.0,但我得到的是 -0.0。
你能建议我在 PIG 中缓解这个问题的方法吗?
最好选择双子运算符 (?:)。
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)
()
我有两个双变量,比如 A 和 B。 A 列将始终具有正值,B 列可以同时具有正值和负值。
当我试图划分以上两个变量时: A/B
B = FOREACH A 生成 0.0/-5.4
结果
(-0.0)
我期望值为 0.0,但我得到的是 -0.0。 你能建议我在 PIG 中缓解这个问题的方法吗?
最好选择双子运算符 (?:)。
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)
()