Apache Pig Join返回空

时间:2014-10-23 13:59:28

标签: apache-pig

我进一步简化了问题,详情如下:

in1.txt:

null null <=6.9
null null <7.0

in2.txt:

null null <=6.9null 
not-null <=6.9
null null <7.0
not-null null <7.0

    in1 = LOAD 'in1.txt' AS (f1:chararray, f2:chararray, f3:chararray);
    DUMP in1;

我看到以下内容:不确定为什么还有其他空字段!

(null null <=6.9,,)
(null not-null <=6.9,,)
(null null <7.0,,)
(not-null null <7.0,,)

in2 = LOAD 'in2.txt' AS (a1:chararray, a2:chararray, a3:chararray);
DUMP in2;

我看到以下内容:不确定为什么还有其他空字段!

(null null <=6.9 ,,)
(null null <7.0 ,,)

ins_joined = JOIN in1 BY(f1,f2,f3), in2 BY (a1,a2,a3);
DUMP ins_joined;

我也试过

this:ins_joined_one = JOIN in1 BY(f1), in2 BY (a1);
DUMP ins_joined_one;
DUMP ins_joined_one is also empty!

关系ins_joined为空。不确定发生了什么。真的很感激帮助。

2 个答案:

答案 0 :(得分:0)

您的数据未正确加载,所有数据都已加载到单个列中,其余列为空,您需要像这样加载数据

in1 = LOAD 'in1.txt' USING PigStorage(' ') AS (f1:chararray, f2:chararray, f3:chararray);
in2 = LOAD 'in2.txt' USINg PigStorage(' ') AS (a1:chararray, a2:chararray, a3:chararray);

答案 1 :(得分:0)

是的,这是数据加载的问题。现在使用相同的猪脚本工作正常......