我是PIG脚本的新手。在这个问题上需要一些帮助。
我在猪里得到了两套袋子,从那儿我想从第一个袋子得到所有字段,如果第二个袋子具有相同字段的数据,则要覆盖第一个袋子的数据
列列表是动态的(列可以随时添加或删除)。 在集合b中,我们可能会在另一个字段中也获取当前为空的数据,如果是这样,则我们需要使用集合b中的可用数据覆盖集合a
列-唯一性,类别,b,c,d,e,f,区域,g,h,日期,方向,指标
EG:
all_data= COGROUP a by (uniqueid), b by (uniqueid);
输出:
(1,{(1,test,,,,,,,,city,,,,,2020-06-08T18:31:09.000Z,west,,,,,,,,,,,,,A)},{(1,,,,,,,,,,,,,,2020-09-08T19:31:09.000Z,,,,,,,,,,,,,,N)})
(2,{(2,test2,,,,,,,,dist,,,,,2020-08-02T13:06:16.000Z,east,,,,,,,,,,,,A)},{(2,,,,,,,,,,,,,,2020-09-08T18:31:09.000Z,,,,,,,,,,,,,,N)})
预期结果:
(1,test,,,,,,,,city,,,,,2020-09-08T19:31:09.000Z,west,,,,,,,,,,,,,N)
(2,test2,,,,,,,,dist,,,,,2020-09-08T18:31:09.000Z,east,,,,,,,,,,,,N)
答案 0 :(得分:0)
我能够通过以下方式实现预期的输出
final = FOREACH all_data生成Flatten($ 1),flatten($ 2。(region))作为区域,flatten($ 2。(indicator))作为指示器;