【发布时间】:2014-04-09 16:26:01
【问题描述】:
我有两种不同类型的文件,一种是用户列表。它具有以下结构: 用户 ID、姓名、国家 ID
第二种是订单列表: OrderID、UserID、OrderSum
每个用户都有很多订单。我需要编写map-reduce hadoop作业(在java中)并接收具有以下结构的输出: CountryID、NumOfUsers、MinOrder、MaxOrder
编写两个不同的映射器(针对每种文件类型)和一个 reducer 以便通过 UserID 连接两个文件中的数据并接收以下结构对我来说不是问题: UserID、CountryID、UsersMinOrder、UsersMaxOrder
但我不明白如何按 CountryID 对数据进行分组?
【问题讨论】:
-
我的书“MapReduce 设计模式”的无耻插件。它有一整章关于连接,告诉你如何实现它们。 (抱歉没给你答复,时间长了,我现在没时间)
-
为什么需要它在 Java 中?为什么不使用像猪这样的东西呢? (顺便说一下,Donald 的书对于常见的 map/reduce 问题以及如何解决它们确实是一个很好的参考)
-
@DonaldMiner 谢谢你会读你的书。
-
@ArnonRotem-Gal-Oz 这是我的学习任务,我应该不使用 Pig 或任何其他工具来解决它。
标签: java join hadoop mapreduce