hadoop中的嵌套键值对

时间:2013-12-07 15:42:54

标签: hadoop

我在 hadoop 中遇到此问题。

我有一个用户活动列表。每个用户每天可以参加不同的课程。我想要计算每个用户为每个班级服务的课程数量。

例如,假设有不明数量的类。 User A需要class A次10次,class B次2次,class C次3次。我希望有一个数据集,其中包含每个用户每个类的类数量

我每个用户都有每日记录。例如

Day 1, User A , Class A
Day 1, User A, Class B
Day 1, User B, Class A
Day 2, User A Class C
Day 2, User B Class C
Day 3, User A Class A.

我可以使用映射器逐行读取这些行,然后将用户用作键,将类用作值。但我知道只有键被排序而不是值。所以我也需要对这些值进行计数。

有没有办法做嵌套键值对?

1 个答案:

答案 0 :(得分:0)

您可以做的是您可以定义自己的自定义数据类型,而不是使用内置数据类型。在自定义数据类型中,包括设置所需的值并覆盖compareTo()方法,以便Hadoop可以在内部比较它们并对它们进行排序。那你的问题应该解决了。