使用 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)
我有两个关系 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)