При проверке значения в инструкции CASE в Apache Pig процедура ELSE игнорируется, когда одно из значений в состоянии равно NULL.Apache Pig не соблюдает инструкцию ELSE, когда значение равно NULL.
Таким образом, в приведенном ниже примере, когда А или В представляет собой значение 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 отдельно, но он добавляет много раздувания в скрипт.