希望聚合已经使用pig解析过的xml文件中的两个文件的值吗

gstyhher  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(286)

第一个文件包含以下内容

  1. cl_id date TM c_id c_val
  2. 10201 2015-4-15 01:00:00 56707065 0
  3. 10201 2015-4-15 01:00:00 56707066 1
  4. 10201 2015-4-15 01:00:00 56707067 200

像wise一样,有多个cl\u id,对于每个cl\u id,c\u id不同,c\u值也不同。
在第二个文件中也是如此

  1. cl_id dt tm c_id c_val
  2. 10201 2015-4-15 01:00:00 56707065 300
  3. 10201 2015-4-15 01:00:00 56707066 60
  4. 10201 2015-4-15 01:00:00 56707067 20

文件1和文件2中的所有值都是相同的,只是计数器的值会随着c\u id的变化而变化,所以我想要第三个包含c\u val之和的文件,即对于cl\u id 10201和对于c\u id 56707065,我想要这样的结果 10201 2015-4-15 01:00:00 56707065 0+300 =300 最后第三个文件的输出是,

  1. 10201 2015-4-15 01:00:00 56707065 300

同样适用于 c_id 56707066,56707067 聚合结果并将其放入第三个文件。请给我建议一下我该怎么做。

ipakzgxi

ipakzgxi1#

  1. Dump A;
  2. cl_id date TM c_id c_val
  3. 10201 2015-4-15 01:00:00 56707065 0
  4. 10201 2015-4-15 01:00:00 56707066 1
  5. 10201 2015-4-15 01:00:00 56707067 200
  6. Dump B;
  7. cl_id dt tm c_id c_val
  8. 10201 2015-4-15 01:00:00 56707065 300
  9. 10201 2015-4-15 01:00:00 56707066 60
  10. 10201 2015-4-15 01:00:00 56707067 20
  11. C = JOIN A BY (cl_id, c_id), B BY (cl_id,c_id);
  12. D = foreach C generate $0,$1,$2,$3,$4+$9;
  13. Dump D;
  14. (10201,2015-4-15,01:00:00,56707065,300)
  15. (10201,2015-4-15,01:00:00,56707066,61)
  16. (10201,2015-4-15,01:00:00,56707067,220)
  17. STORE D INTO '/home/infoobjects/aa.csv' using PigStorage(',');
展开查看全部

相关问题