gpt4 book ai didi

hadoop - 想要使用 pig 聚合两个已解析 xml 文件的文件的值

转载 作者:可可西里 更新时间:2023-11-01 15:31:18 26 4
gpt4 key购买 nike

第一个文件包含以下内容

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 发生变化,所以我想要第三个文件包含 c_val 的总和,即对于 cl_id 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 聚合结果并将其放入第三个文件。请向我推荐 pig 脚本,我该怎么做。

最佳答案

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(',');

关于hadoop - 想要使用 pig 聚合两个已解析 xml 文件的文件的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32395507/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com