如何在hadoop pig中使用“case-when”?

epfja78i  于 2021-07-15  发布在  Pig
关注(0)|答案(2)|浏览(587)

对于这个pig-sql伪代码,正确的pig语言是什么? data = foreach data generate case when column1 is null then -1 else column2 end as new_column; 我在hadoop pig中搜索案例,但没有。那么,在Pig身上做这件事的替代方法是什么呢?

lnlaulya

lnlaulya1#

使用案例的解决方案是:

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

wr98u20j2#

应该能够使用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

相关问题