希望从使用猪
问题描述:
第一个文件已经被解析的XML文件中的两个文件汇总值包含以下希望从使用猪
cl_id date TM c_id c_val
10201 2015-4-15 01:00:00 56707065 0
10201 2015-4-15 01:00:00 56707066 1
10201 2015-4-15 01:00:00 56707067 200
喜欢聪明有多个cl_id和每个cl_id的C_ID是不同的,c_value是不同的。
同样在第二个文件
cl_id dt tm c_id c_val
10201 2015-4-15 01:00:00 56707065 300
10201 2015-4-15 01:00:00 56707066 60
10201 2015-4-15 01:00:00 56707067 20
的所有值均为文件之一相同,文件中的两个仅计数器值变化每C_ID所以我想第三个文件,其中包含了cl_id c_val即总和10201 &为C_ID 56707065我想这样 10201 2015-4-15 01:00:00 56707065 0+300 =300
结果所以终于在第三个文件的输出将是,
10201 2015-4-15 01:00:00 56707065 300
同样为c_id 56707066,56707067
聚集的结果,并把它放到第三个文件。 请给我猪脚本,我怎么能做到这一点。
答
Dump A;
cl_id date TM c_id c_val
10201 2015-4-15 01:00:00 56707065 0
10201 2015-4-15 01:00:00 56707066 1
10201 2015-4-15 01:00:00 56707067 200
Dump B;
cl_id dt tm c_id c_val
10201 2015-4-15 01:00:00 56707065 300
10201 2015-4-15 01:00:00 56707066 60
10201 2015-4-15 01:00:00 56707067 20
C = JOIN A BY (cl_id, c_id), B BY (cl_id,c_id);
D = foreach C generate $0,$1,$2,$3,$4+$9;
Dump D;
(10201,2015-4-15,01:00:00,56707065,300)
(10201,2015-4-15,01:00:00,56707066,61)
(10201,2015-4-15,01:00:00,56707067,220)
STORE D INTO '/home/infoobjects/aa.csv' using PigStorage(',');
嗨krish,谢谢你的回答,你可以告诉我什么是$ 0,$ 1,$ 4 $ 9在这里使用 –
我们可以将相同的脚本转换为python spark。 –
$ 0,$ 1,$ 4 $ 9是索引号。例如,如果你有3列 - id,姓名,大学。那么你可以得到0美元的ID,1美元的名称和2美元的学院谢谢kishore的 –