在Pig中,当我离开连接并且一行没有行时,值为NULL:
c = join a by ($0) left, b by ($0);
Run Code Online (Sandbox Code Playgroud)
如果
a=((1,10),(2,20))
b=((1,30))
Run Code Online (Sandbox Code Playgroud)
然后
c=((1,10,30),(2,20,NULL))
Run Code Online (Sandbox Code Playgroud)
我想使用默认值(比如说-1),而不是NULL这样
c=((1,10,30),(2,20,-1))
Run Code Online (Sandbox Code Playgroud)
我怎么做?
如果这是不可能的,我如何更改第3列c而不是NULL?
我不知道是否可以在join语句中完成,但是你添加了另一个语句:
d = FOREACH c GENERATE $0, $1, (($2 IS NULL) ? -1 : $2);
Run Code Online (Sandbox Code Playgroud)
我想它不会触发额外的MR工作.