Можете ли вы использовать оператор IN внутри троичного условия в Apache PIG? - PullRequest
0 голосов
/ 06 июня 2019

В Pig я пытаюсь заполнить значение поля, используя условие о другом поле.

Я пытаюсь сделать что-то вроде этого, где t1 - результат некоторых предыдущих операций:

t2 = FOREACH t1 GENERATE
    t1::f1 AS f1,
    t1::f2 AS f2,
    (((t1::f3 IN (20,40,80))) ? 'NULL' : t1::f4) AS f4, 
    t1::f3 AS f3;

Если я заменим этот оператор IN () на несколько OR, код сработает. Если я этого не сделаю, я получу NoViableAltException.

Я бы предпочел иметь этот оператор IN, потому что в будущем нам может понадобиться увеличить количество чисел. Это также легче читать. Можно ли сделать эту работу?

...