如何在Hadoop pig中使用"case when"?

How to use "case when" in Hadoop pig?

这个猪的正确猪语言是什么-sql伪代码?
data = foreach data generate case when column1 is null then -1 else column2 end as new_column;
我 google 用于 hadoop pig 中的情况,但有 none。那么在猪中执行此操作的替代方法是什么?

应该可以使用 bincond 表达式,例如:

B = FOREACH A GENERATE 
    *,
    (column1 IS NULL ? -1 : column2) AS new_column
    ;

Pig 确实有一个 WHEN CASE 函数,可以用来代替将 binconds 链接在一起,这有点混乱。您可以在此处的算术运算符和更多内容下阅读更多内容:https://pig.apache.org/docs/r0.17.0/basic.html

使用 CASE WHEN 的解决方案是:

new_data = FOREACH data GENERATE 
    *,
    (CASE 
        WHEN column1 IS NULL THEN -1
        ELSE column2
    END) AS new_column;