我有三个值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吗?
答案 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 *
,以便所有字段都被包含在新关系中,否则没有字段会被带入新关系中)。进行)。