2013-12-08 92 views
3

在豬,當我離開加盟和行沒有行,值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

回答

5

我不知道是否可以在連接語句中可以做到,但你添加添加另一個聲明:

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

我想這不會引發額外的MR工作。

+1

是否需要引用'-1'? – sds

+0

如果你把它當作整數,那麼不,對不起。我已經更新了答案。 – Ruslan