【发布时间】:2015-06-15 09:28:20
【问题描述】:
在 Apache Pig 中检查 CASE 语句中的值时,当条件中的一个值为 NULL 时,ELSE 例程将被忽略。
因此在下面的示例中,当 A 或 B 为 NULL 值时,A_equals_B 在输出中将为 NULL 而不是 0。
input = LOAD '/data/input.csv' USING PigStorage() AS (A:chararray, B:chararray);
output = FOREACH input GENERATE
CASE
WHEN A == B THEN 1
ELSE 0
END AS A_equalsB;
这是设计使然吗?这些问题的最佳解决方法是什么?我单独添加了对 NULL 的检查,但它在脚本中增加了很多臃肿。
【问题讨论】:
标签: apache-pig