如何在 Hadoop pig 中使用“case when”?
Posted
技术标签:
【中文标题】如何在 Hadoop pig 中使用“case when”?【英文标题】:How to use "case when" in Hadoop pig? 【发布时间】:2021-01-06 02:12:22 【问题描述】:这个 pig-sql 伪代码的正确猪语言是什么?data = foreach data generate case when column1 is null then -1 else column2 end as new_column;
我在 hadoop pig 中搜索案例,但没有。那么在猪中执行此操作的替代方法是什么?
【问题讨论】:
【参考方案1】:使用 CASE WHEN 的解决方案是:
new_data = FOREACH data GENERATE
*,
(CASE
WHEN column1 IS NULL THEN -1
ELSE column2
END) AS new_column;
【讨论】:
【参考方案2】:应该能够使用 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
【讨论】:
以上是关于如何在 Hadoop pig 中使用“case when”?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Hadoop/PIG 中处理非 ASCII/亚洲/中文字符
如何在 Hadoop 中的机器之间传输文件并使用 Pig 搜索字符串