mapreduce,用于提取具有最高值的一行

vwkv1x7d  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(252)

这是减速器的结果(actula输出)。数据是根据书名(值)借阅多少本书的书名(键)、月份和频率,有没有办法只得到一行值最高的?例如,我想在许多行中选择频率最高的行。如果你知道路,请给我指点。谢谢。

"""E"" is for evidence [sound recording] / by Sue Grafton." 05  8
"""F"" is for fugitive [sound recording] / by Sue Grafton." 05  6
"""G"" is for Grafton : the world of Kinsey Millhone / Natalie Hevener Kaufman and Carol McGinnis Kay." 06  1
"""G"" is for gumshoe [text (large print)] / Sue Grafton."  09,10  1
"""Galapagos"" means ""tortoises"" / written and illustrated by Ruth Heller."   10,04,09  2
"""Git on board 09  1
"""God's banker"" / by Rupert Cornwell."    05,10,11  1
"""Gospodi-- spasi i usmiri Rossi︠i︡u"" : Nikolaĭ II    10,11  1
"""H"" is for homicide [sound recording] / by Sue Grafton." 12  4
jm2pwxwz

jm2pwxwz1#

运行第二个mapreduce作业,接受第一个操作的输出作为输入。要在Map器中写入的值可以是(nullwriteable,line),因为您希望将所有行收集到一个reducer中,但实际上并不关心某个键,否则,请解析出每行的编号,跟踪当前最大值及其关联的行。循环所有值后,写入最大行。
要改进此进程的运行时间,请使用 setCombinerClass 在作业配置中使用此新减速器

相关问题