标签: hadoop apache-pig cloudera
我在大型数据集上使用PIG 0.12,我需要创建一个分类变量,例如
FOREACH mydata GENERATE category = 1 IF condition1 category = 2 IF condition2 category = 3 IF condition3
该语法不起作用。猪可以这样做吗?
谢谢!
答案 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)