草庐IT

map_region

全部标签

Hadoop 计数器 : how to access the Reporter object outside map() and reduce()

要使用计数器,我需要有权访问Reporter对象。Reporter对象作为参数传递给map()和reduce(),因此我可以这样做:reporter.incrCounter(NUM_RECORDS,1);但是我需要在MultipleOutputFormat类中使用计数器(我正在使用方法生成文件名键值)问题:如何访问MultipleOutputFormat类中的Reporter对象? 最佳答案 您可以创建自己的MultipleOutputFormat类,MyMultipleOutputFormat(这听起来有点像你在做的)并创建一个接

java - 如何在不使用已弃用类的情况下编写 Hadoop map reduce 作业?

我知道这是我的强制症,但我无法忍受在我的代码中使用弃用的引用。也就是说,包括“权威指南”一书在内的Hadoop教程仅使用已弃用的JobConf类和mapred包中的类,这些类均已弃用。我在任何地方都找不到有关如何将现有MapReduce作业转换为使用新构造的任何文本。 最佳答案 我不久前与Cloudera人员进行了交谈,他们确认"new"功能不完整,并且如果不使用“已弃用”的包,就无法编写正式的Hadoop内容。 关于java-如何在不使用已弃用类的情况下编写Hadoopmapreduc

hadoop - 在 Eclipse Map/Reduce 位置中,New Hadoop 位置没有响应?

在eclipse中,我正在尝试添加新的hadoop位置。但是当我点击添加新的hadoop位置时,它没有响应。我为hadoop1.0.4构建了自己的插件。我的list如下所示,Bundle-ClassPath:classes/,lib/hadoop-core.jar,lib/commons-configuration-1.6.jar,lib/commons-httpclient-3.0.1.jar,lib/commons-cli-1.2.jar,lib/commons-lang-2.4.jar,lib/jackson-mapper-asl-1.8.8.jar,lib/jackson-co

hadoop - 为什么map数量增加会影响hadoop上的带宽和集群利用率?

最近在看hadoop:thedefinitiveguide这本书,这部分是两个集群使用distcp复制数据,看到评论:“当数据量很大时,有必要限制map数量以限制带宽和集群利用率”我不明白为什么?我认为我们应该利用尽可能宽的带宽来提高集群的效率。那么我们为什么要限制map的数量呢? 最佳答案 当然有更多的没有。映射器的数量帮助我们实现更高的并行度,但如果它太高,它就会开始成为瓶颈。例如,如果您的映射器比没有的多得多。在你的奴隶上可用的CPU插槽中,大多数映射器将处于等待状态。同样,您可能会耗尽内存并可能面临网络拥塞。此外,创建那么多

hadoop - HBase region over region 服务器负载不均衡

我正在运行一个带有两个HBase0.94.7区域服务器的小型集群。我发现区域服务器上的负载请求非常不平衡。从网络用户界面,我得到:Region1:numberOfOnlineRegions=1,usedHeapMB=26,maxHeapMB=3983Region2:numberOfOnlineRegions=22,usedHeapMB=44,maxHeapMB=3983region2作为master服务。我检查了负载平衡器是否打开。我在主日志中找到了一些日志:INFOorg.apache.hadoop.hbase.master.LoadBalancer:Skippingloadbala

apache - Hadoop:map reduce 作业中的错误类路径

我在3个虚拟机中运行一个cloudera集群,并尝试通过mapreduce作业执行hbase批量加载。但我总是得到错误:error:Classorg.apache.hadoop.hbase.mapreduce.HFileOutputFormatnotfound所以,似乎map进程没有找到类。所以我尝试了这个:1)将hbase.jar添加到每个节点上的HADOOP_CLASSPATH2)将TableMapReduceUtil.addDependencyJars(job)/TableMapReduceUtil.addDependencyJars(myConf,HFileOutputForm

java - 如何使用配置文件中的输入参数执行 Map Reduce 作业

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:StackOverflowquestionchecklist关闭9年前。Improvethisquestion我想执行一个MR作业,我想通过配置文件将参数传递给作业。映射器和缩减器中也应使用相同的参数。哪个API最适合实现此目的?

java - 使用 Hadoop Map-Reduce 去除不可打印的字符

我正在尝试处理具有不可打印字符的HDFS文件。我希望使用MapReduce去除这些字符。我曾尝试使用PigTextLoader和MRTextInputFormat(在MR程序中),结果是从遇到不可打印字符的位置将记录拆分为多个。以下是示例数据:===数据==(2条记录)=4614:2011-12-20-08.45.08.169176^2011-12-20-18.15.08.100008^597^0^57^ZUKA^Grase^^^Grase,Dr^^^N^N^N^Dr^KG^ONLYINFORMATIONENTERED^UNKNOWN^0^^^^611190362�^0^^^^^^

apache - 我的 Yarn Map-Reduce 作业花费了大量时间

输入文件大小:75GB映射器数量:2273reducer数量:1(如网页界面所示)分割数:2273输入文件数:867集群:ApacheHadoop2.4.05个节点集群,每个1TB。1个主节点和4个数据节点。已经4小时了。现在仍然只完成了12%的map。只是想知道我的集群配置是否有意义,或者配置有什么问题吗?Yarn-site.xmlyarn.nodemanager.aux-servicesmapreduce_shuffleyarn.nodemanager.aux-services.mapreduce.shuffle.classorg.apache.hadoop.mapred.Shuf

java - Hadoop WordCount, map 中的总和

有人要求我修改WordCount示例,以便每个映射器函数在传递文件之前将其文件中单词的出现次数加在一起。因此,例如,而不是:映射器的输出将是:那么我是否可以将单词添加到数组中,然后检查是否出现?或者有更简单的方法吗?Stringline=value.toString();StringTokenizertokenizer=newStringTokenizer(line);while(tokenizer.hasMoreTokens()){word.set(tokenizer.nextToken());context.write(word,one);} 最佳答案