我有一个mapreduce工作,它执行一些处理,并生成一个城市的复合键(实现WritableComparable):带关联计数的水果。现在,我想用一个二级mapreduce作业来链接它,它决定了每个水果类型的最高计数城市。
mapreduce作业1的复合键输出示例:
+---------------------+-------+
| city:fruit composite| count |
+---------------------+-------+
| london:apples | 3 |
+---------------------+-------+
| london:bannanas | 2 |
+---------------------+-------+
| london:oranges | 15 |
+---------------------+-------+
| charleston:apples | 20 |
+---------------------+-------+
| charleston:bannanas | 1 |
+---------------------+-------+
| charleston:oranges | 3 |
+---------------------+-------+
| chicago:bannanas | 17 |
+---------------------+-------+
| chicago:apples | 5 |
+---------------------+-------+
| chicago:oranges | 11 |
+---------------------+-------+工作2的期望输出:
+------------+----------+
| city | fruit |
+------------+----------+
| london | oranges |
+------------+----------+
| charleston | apples |
+------------+----------+
| chicago | bannanas |
+------------+----------+我怎样才能做到这一点?在我的SQL中,复合键将是两列,一列用于城市,一列用于水果。我会按水果分组,分类,并以最高的数量抓住这一行。我不知道这是怎么转化成mapreduce世界的。如有任何建议,将不胜感激!
发布于 2016-06-16 10:16:34
过程
请注意,对于每个减速机,都会编写一个单独的文件。之后,您可以轻松地将它们与HDFS功能合并。也有可能只有一个减速器,但我不喜欢这种方式,因为它是不可伸缩的。
https://stackoverflow.com/questions/37847512
复制相似问题