gpt4 book ai didi

hadoop - 如何使用 PIG 脚本获取两个纪元时间值之间的毫秒数

转载 作者:可可西里 更新时间:2023-11-01 16:40:22 24 4
gpt4 key购买 nike

游戏ID |开始时间 |结束时间

1 | 1235000140| 1235002457
2 | 1235000377| 1235003300
3 | 1235000414| 1235056128
1 | 1235000414| 1235056128
2 | 1235000377| 1235003300

在这里,我想获取两个纪元时间字段 BeginTime 和 EndTime 之间的毫秒数。然后计算每场比赛的平均时间。

最佳答案

games = load 'games.txt' using PigStorage('|') as (gameid: int, begin_time: long, end_time:long);

dump games;
(1,1235000140,1235002457)
(2,1235000377,1235003300)
(3,1235000414,1235056128)
(1,1235000414,1235056128)
(2,1235000377,1235003300)

第一步:计算时差

difference = foreach games generate gameid, end_time - begin_time as time_lapse;

dump difference;
(1,2317)
(2,2923)
(3,55714)
(1,55714)
(2,2923)

第 2 步:将 Game_ID 上的数据分组

game_group = group difference by gameid;

dump game_group;
(1,{(1,55714),(1,2317)})
(2,{(2,2923),(2,2923)})
(3,{(3,55714)})

第 3 步: 然后是平均值

average = foreach game_group generate group, AVG(difference.time_lapse);

dump average;
(1,29015.5)
(2,2923.0)
(3,55714.0)

关于hadoop - 如何使用 PIG 脚本获取两个纪元时间值之间的毫秒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42173419/

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