【问题标题】:PIG script IF ELSE statementPIG 脚本 IF ELSE 语句
【发布时间】:2016-03-03 15:31:18
【问题描述】:

pig脚本是否支持if-else语句

这是我想做的:

如果($NAME=='乔伊') 做点什么 别的 做点什么

这样可行吗?

谢谢

【问题讨论】:

标签: hadoop apache-pig


【解决方案1】:

它被称为“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;

【讨论】:

    【解决方案2】:

    您可以使用条件运算符。例如

    (Name=='Joey'? 'Yes':'No')
    

    【讨论】:

      【解决方案3】:

      如果我理解正确(我昨天开始使用 pig latin),pig 没有 if-else 或 for 语句,您必须使用 python 或 java 来执行此操作,请参见此处:http://chimera.labs.oreilly.com/books/1234000001811/ch09.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-09
        • 1970-01-01
        • 2017-02-05
        • 1970-01-01
        • 1970-01-01
        • 2015-07-06
        相关资源
        最近更新 更多