假设我有两个数据集:
A = LOAD 'data1' AS (a1:int,a2:int,a3:int);
DUMP A;
(1,2,3)
(4,2,1)
(8,3,4)
(4,3,3)
(7,2,5)
(8,4,3)
B = LOAD 'data2' AS (b1:int,b2:int);
DUMP B;
(2,4)
(8,9)
(1,3)
(2,7)
(2,9)
(4,6)
(4,9)
有没有办法将B中的特定元组插入A?所以最终结果看起来类似于:
DUMP C;
(1,2,3)
(2,4)
(4,2,1)
(8,9)
...
答案 0 :(得分:0)
您能否告诉我们A和B所需的字段以及输出的结构?操作中是否有任何主键?
如果A和B中有相同的字段您可以执行相同的Join。
答案 1 :(得分:0)
听起来你在谈论执行联盟。如果你的两个关系共享相同的模式,那么你可以这样做:
C = UNION A,B; -- won't work
但是,既然他们不这样做,你就无法将他们联合起来。但是,您可以更改B的架构,使其与A:
匹配B = FOREACH B GENERATE
b1 as a1,
b2 as a2,
0 as a3; -- dummy value so can union
我不确定你选择“特定元组”是什么意思。您当然可以总是过滤B,使其仅包含符合某些条件的元组。您能否提供有关您的用例以及您想要实现的目标的更多信息?