PIg:如何创建分类变量?

时间:2016-06-28 12:53:19

标签: hadoop apache-pig cloudera

我在大型数据集上使用PIG 0.12,我需要创建一个分类变量,例如

FOREACH mydata GENERATE category = 1 IF condition1
                        category = 2 IF condition2
                        category = 3 IF condition3

该语法不起作用。猪可以这样做吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

根据条件的复杂程度,这里有一些解决方案:

bincond

(condition ? value_if_true : value_if_false) 

case

X = FOREACH A GENERATE f2, (
  CASE f2 % 2
    WHEN 0 THEN 'even'
    WHEN 1 THEN 'odd'
  END
);

udf

FOREACH mydata GENERATE category_udf(field_2b_checked)