hadoop - 通过id的Hadoop Pig GROUP,获取owner_id?

标签 hadoop apache-pig

在Hadoop中,我有很多看起来像这样:(item_id,owner_id,counter)-可能重复,但item_id始终具有相同的owner_id!

我想获取每个counteritem_id的总和,所以我有以下脚本:

alldata = LOAD '/path/to/data/*' USING D; -- D describes the structure
known_items = FILTER alldata BY owner_id > 0L;
group_by_item = GROUP known_data BY (item_id);
data = FOREACH group_by_item GENERATE group AS item_id, OWNER_ID_COLUMN_SOMEHOW, SUM(known_items.counter) AS items_count;

问题是在FOREACH中,如果我想使用known_items.owner_id-那将是一个具有所有分组的item_id的总和的元组。获取第一个所有者的最有效方法是什么?

最佳答案

如果您假设每个item_id具有相同的owner_id是正确的,那么最简单的解决方案将为您提供正确的答案,如果不正确,则会让您知道:将owner_id包含在组中。

alldata = LOAD '/path/to/data/*' USING D; -- D describes the structure
known_items = FILTER alldata BY owner_id > 0L;
group_by_item = GROUP known_data BY (item_id, owner_id);
data = FOREACH group_by_item GENERATE FLATTEN(group), SUM(known_items.counter) AS items_count;

关于hadoop - 通过id的Hadoop Pig GROUP,获取owner_id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14279549/

相关文章:

Hadoop 加载和存储

hadoop - Hadoop:使用Pig在hdfs文件的每一行末尾添加文本

hadoop - 通用连接脚本

hadoop - 复制不足的 block 计数不准确,但为什么呢?

amazon-web-services - Hadoop 配置单元无法在 AWS EMR 上扩展

hadoop - Amazon EMR服务的Sqoop导入错误 “Could not load db driver class”

hadoop - 将oozie作业输出发送到邮件ID

apache-pig - Apache Pig 中的按位运算?

python-2.7 - pig 过滤器不工作

hadoop - H2o 不工作的执行者数量