如何在hadoop中按值对字数进行排序?

use*_*111 12 hadoop mapreduce bigdata partitioner

嗨,我想学习如何在hadoop.i中按值排序单词计数.知道hadoop对排序键的排序,而不是值.

我知道要对值进行排序,我们必须有一个分区器,分组比较器和一个排序比较器

但我有点困惑在于将这些概念应用于一起按值排序单词计数.

我们是否需要另一个地图减少作业以实现相同或者组合器来计算出现次数然后在这里排序并将它们发送到减速器?

任何人都可以解释如何按值排序单词计数示例?

Rag*_*ags 11

你需要有第二个mapreduce工作.除非您总结计算总数(第一个MR作业),您如何看待按值排序(单词的计数)?逻辑上不可能.

  • 您还可以通过标准的*nix可执行文件(如`sort`)来管道输出,这样可以正常工作.您可以在第二个字段上以数字方式排序.像'cat part-*|之类的东西 sort -nk 2`,`-n`是数字,`-k 2`是字段2. (2认同)

Tar*_*riq 7

这被称为二级排序.见这个这个有关详细信息.

  • 根据问题中的要求,次要排序无助于按出现次数排序.不可能实现! (2认同)
  • 不..根据用户评论,很明显 user1585111 想要按出现次数排序。这不是二级排序可以做的。 (2认同)