当前位置: 首页 > 知识库问答 >
问题:

Hadoop字数

马俊
2023-03-14

对于Hadoop中的单词计数例子,在map函数中,它将单词和1作为中间结果写到文件中,并使用reduce进行求和。为什么不在mapper函数中使用hashmap,它的关键字是word,值是count,如果一个单词在一个文件spit中出现一次以上,就会添加该单词的值。在映射器函数的末尾,写出结果。

这样就比原来的设计(不使用combiner)更有效率,虽然使用combiner,效率应该是相等的。

有什么建议吗?

共有2个答案

东郭鸿福
2023-03-14

我知道这是一个老帖子,但对于将来寻找Hadoop帮助的人来说,也许可以查看这个问题以获得另一个参考:Hadoop单词计数:接收以字母“C”开头的单词总数。

赏光霁
2023-03-14

是的,您也可以使用hashmap。但在设计解决方案时,您需要考虑最坏的情况。

通常情况下,块的大小是128 MB,并且考虑有没有重复或非常少重复的小字(就字长而言)。在这种情况下,你会有很多词,因而没有。HashMap中的条目数将增加,从而消耗更多的内存。您需要考虑到,可能有许多不同的作业在同一个数据节点上操作,因此这个HashMap消耗更多的RAM,最终也会减慢其他作业的速度。此外,当HashMap的大小变大时,它必须执行重新哈希,这会为您的作业执行增加更多的时间。

 类似资料:
  • 我是hadoop的新手,刚刚安装了Hadoop2.6。 hadoop jar./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar grep/user/yoni/input/user/yoni/output101“dfs[a-z.]+” 以及在伪分布式模式下的设置,就像在所有的基本tutilies中一样

  • 它考虑第一个KV对并给出相同的输出...!!??因为我只有一个价值。为什么它同时考虑钥匙和制造 既然我们考虑的是一次一对千伏?我知道这是一个错误的假设;请有人纠正我这一点

  • 通常,Hadoop示例定义了如何对一个文件或多个文件进行字数计算,字数计算的结果将来自整个集合! 我希望对每个段落进行wordcount,并将其存储在单独的文件中,如paragh(i)_wordcnt.txt。 我能看到para2写para1的wordcount结果吗?或者,如果以其他方式在单独的文件中写入每一段,该如何做,像这样的顺序

  • 因此,从Hadoop教程网站(http://Hadoop.apache.org/docs/current/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapreducetutorial.html#source_code)上,我了解了如何使用map reduce方法实现单词计数,并且输出的单词都是出现频率的。 我想做的是只有输出是最高频率

  • 所以,我一直在跟踪这个网站上的Mapreduce python代码(http://www . Michael-noll . com/tutorials/writing-an-Hadoop-Mapreduce-program-in-python/),它从一个文本文件中返回字数(即单词及其在文本中出现的次数)。但是,我想知道如何返回出现次数最多的单词。映射器和缩减器如下- 所以,我知道我需要在减速器的

  • Hadoop 是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughpu

  • 一、背景 1、起源 MapReduce编程模型的思想来源于函数式编程语言Lisp,由Google公司于2004年提出并首先应用于大型集群。同时,Google也发表了GFS、BigTable等底层系统以应用MapReduce模型。在2007年,Google’s MapReduce Programming Model-Revisted论文发表,进一步详细介绍了Google MapReduce模型以及S