我有两个关系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;
我没有在转储O上获得任何输出。我是猪的新手所以请解释。
答案 0 :(得分:1)
此处我使用的数据:
DATA1
f1a 10
f1b 12
DATA2
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)