PIG 替换为 NULL
PIG REPLACE with NULL
我有三个值 A、B 和 C。
如果 A 和 B 的单元格中有值,我希望能够用 NULL 值替换 C 的值。
不确定去哪里。我试过类似
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?
你可以简单地做:
Y = FOREACH X GENERATE A, B, (A IS NOT NULL AND B IS NOT NULL ? NULL : C) AS C;
无需创建 NEW_C
然后删除 C
,因为除非您明确命名它们,否则不会将任何字段带入新关系(除非您使用 GENERATE *
以便所有字段通过)。
我有三个值 A、B 和 C。
如果 A 和 B 的单元格中有值,我希望能够用 NULL 值替换 C 的值。
不确定去哪里。我试过类似
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?
你可以简单地做:
Y = FOREACH X GENERATE A, B, (A IS NOT NULL AND B IS NOT NULL ? NULL : C) AS C;
无需创建 NEW_C
然后删除 C
,因为除非您明确命名它们,否则不会将任何字段带入新关系(除非您使用 GENERATE *
以便所有字段通过)。