【发布时间】:2016-03-03 15:31:18
【问题描述】:
pig脚本是否支持if-else语句
这是我想做的:
如果($NAME=='乔伊') 做点什么 别的 做点什么
这样可行吗?
谢谢
【问题讨论】:
标签: hadoop apache-pig
pig脚本是否支持if-else语句
这是我想做的:
如果($NAME=='乔伊') 做点什么 别的 做点什么
这样可行吗?
谢谢
【问题讨论】:
标签: hadoop apache-pig
它被称为“Bincond”运算符
像这样的陈述:
(Price > 75 ? 'High':'Low')
同样有效
用于处理空记录:
((Name is null or IsEmpty(Name)) ? {('unknown')} : Name)
在带有别名的 foreach 语句中使用它们,例如:
A = load 'x/y/Price.csv' as (Name, Product, Price);
B = foreach A generate Name, Product, Price, (Price > 75 ? 'High':'Low') as Indicator;
dump B;
【讨论】:
您可以使用条件运算符。例如
(Name=='Joey'? 'Yes':'No')
【讨论】:
如果我理解正确(我昨天开始使用 pig latin),pig 没有 if-else 或 for 语句,您必须使用 python 或 java 来执行此操作,请参见此处:http://chimera.labs.oreilly.com/books/1234000001811/ch09.html
【讨论】: