左连接中缺少字段的默认值?

时间:2013-12-08 16:38:49

标签: join apache-pig

在Pig中,当我离开连接并且一行没有行时,值为NULL

c = join a by ($0) left, b by ($0);

如果

a=((1,10),(2,20))
b=((1,30))

然后

c=((1,10,30),(2,20,NULL))

我想使用默认值(比如-1)而不是NULL,以便

c=((1,10,30),(2,20,-1))

我该怎么做?

如果这是不可能的,如何将c的第3列更改为默认值而不是NULL

1 个答案:

答案 0 :(得分:5)

我不知道是否可以在join语句中完成,但是你添加了另一个语句:

d = FOREACH c GENERATE $0, $1, (($2 IS NULL) ? -1 : $2);

我想它不会触发额外的MR工作。