使用 Pig 中的公共字段连接多个关系不提供任何输出

Joining multiple relations using a common field in Pig not giving any output

我有两个关系 r1 和 r2。

grunt>describe r1;
r1: {f1: chararray,ts: chararray}

grunt>describe r2;
r2: {f2:chararray,ts: chararray}

我想加入 ts 上的两个关系以获得这样的输出

(f1,f2)

This是我试过的(没有找到与我的案例相关的评论)。

grunt>j = join r1 by ts,r2 by ts;
grunt>O = foreach j generate CONCAT(r1::f1,r2::f2);
grunt>describe O;
O: {chararray}
grunt>dump O;

我在 dump O 上没有得到任何输出。我是 pig 的新手,所以请解释一下。

这里是我使用的数据:

数据1

 f1a    10
 f1b    12

数据2

 f2a    10
 f2b    11
 f2c    12

如果我 运行 以下脚本,它会产生预期的结果:

 grunt> a = LOAD 'data1' as (f1:chararray, ts:int);
 grunt> b = LOAD 'data2' as (f2:chararray, ts:int);

 grunt> c = JOIN a BY ts, b BY ts;
 grunt> DESCRIBE c;
 c: {a::f1: chararray,a::ts: int,b::f2: chararray,b::ts: int}

 grunt> d = FOREACH c GENERATE CONCAT(f1, f2);
 grunt> DUMP d
 (f1af2a)
 (f1bf2c)