gpt4 book ai didi

apache-pig - 'group as' 在 Pig 中是如何工作的?

转载 作者:行者123 更新时间:2023-12-02 03:26:54 26 4
gpt4 key购买 nike

我无法理解如何group by group_nameforeach 工作环形。

假设我们已经有一个名为 grouped_data 的变量定义为:

grouped_data = group dataset by (emp_id, dept_id);

然后我们要遍历 grouped_data 中的每条记录添加了聚合列。所以写了以下内容:
with_hours_worked = FOREACH grouped_data 
GENERATE group AS grp,
SUM(dataset.worked_hours) AS hours ;

我对最后一行中发生的事情感到困惑,尤其是 group AS grp部分。是 grp元组?是来自 grouped_data 的线路变回群?如果是这样,为什么?

最佳答案

每当您使用 group by在 Pig 中,为每个组创建一个由两部分组成的新寄存器:第一部分是包含您分组的值的元组,第二部分是包含该组所有值的包。

例如,如果您有以下数据:

user_id, dept_id, blah_1, blah_2
1,41,pig,mapreduce
1,41,spark,apache
2,30,oh,yeah

按 user_id 和 dept_id 分组后,您将拥有以下内容:
(1,41),{(pig,mapreduce),(spark,apache)}
(2,30),{(oh,yeah)}

第一部分是 Pig 所说的 group ,在这种情况下包含 user_id 的元组和 dept_id . group as grp只需将其重命名为 grp ...不是一个好名字,但这就是代码所做的!

关于apache-pig - 'group as' 在 Pig 中是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29808460/

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