猪替换为NULL

时间:2019-02-14 18:34:00

标签: apache-pig

我有三个值A,B和C。

如果A和B的单元格中都有值,我希望能够将C的值替换为NULL。

不确定要去哪里。我尝试过类似的

FOR EACH X GENERATE REPLACE(C, ((A IS NOT NULL AND B IS NOT NULL) ? NULL:C) ;

但是不确定这是否可行,这似乎不正确。我不想添加任何其他值,只需更新C的值?

也许像

FOR EACH X GENERATE (A IS NOT NULL AND B IS NOT NULL) ? NULL:C AS NEW_C;

然后放下C,同时保留A,B和NEW_C吗?

1 个答案:

答案 0 :(得分:1)

您可以简单地做到:

Y = FOREACH X GENERATE A, B, (A IS NOT NULL AND B IS NOT NULL ? NULL : C) AS C;

不需要创建NEW_C然后删除C,因为除非您明确命名了它们(除非使用GENERATE *,以便所有字段都被包含在新关系中,否则没有字段会被带入新关系中)。进行)。