原谅我,如果我用错了标准Pig的名字,因为我是新来的。
我在pig中有2个Dataframe(x和y)。都有变量:j1和j2。我正在进行以下操作:
A = JOIN X by (j1) left outer, Y by (j1);
SPLIT A into B (IF Y::j1 IS NULL), C otherwise;
D = FOREACH B GENERATE X::j2;
在这里,如果我们确实转储了b,那么里面就没有数据了。如果我们转储c,那么数据d1就会出现。但是当我转储d时,同样的数据d1出现了,这是有线的,因为b没有任何数据点。
有人能告诉我为什么会这样吗?
注意:我试过:
存储b,然后手动查找部件文件,但b中没有任何内容。
我还存储了一个,然后退出会话,然后在grunt中启动会话,加载了一个,然后执行最后两行代码(即split和foreach)。当我这样做的时候,代码是按预期工作的,dump d没有显示任何输出数据(这是正确的)。
找到了解决办法:其实不是Pig的问题。这是我用来读取数据并因此创建Dataframex和y的jar问题。基本上jar无法正确读取csv文件,这在上面的join操作中产生了问题。
暂无答案!
目前还没有任何答案,快来回答吧!