草庐IT

reducer-combiner

全部标签

hadoop - shuffle阶段和combiner阶段有什么区别?

我对MapReduce框架感到很困惑。我对从不同来源阅读的内容感到困惑。顺便说一下,这是我对MapReduce作业的想法1.Map()-->emit2.Partitioner(OPTIONAL)-->divideintermediateoutputfrommapperandassignthemtodifferentreducers3.Shufflephaseusedtomake:4.Combiner,componentusedlikeaminireducerwichperformsomeoperationsondatasandthenpassthosedatatothereducer.

amazon-web-services - 使用 Elastic MapReduce 进行文件处理 - 没有 Reducer 步骤?

我在S3目录中有大量文本文件。对于每个文本文件,我想应用一个函数(通过Bootstrap加载的可执行文件),然后将结果写入S3输出目录中另一个同名的文本文件。所以在我的MapReduce作业中没有明显的reducer步骤。我曾尝试使用NONE作为我的reducer,但输出目录中充满了part-00000、part-00001等文件。而且这些文件的数量比我输入目录中的文件还要多;每个部分文件只代表一个处理过的片段。如有任何建议,我们将不胜感激。 最佳答案 Hadoop提供了一个名为IdentityReducer的缩减器。Identit

hadoop - yarn [hadoop 2.2] location mapper or reducer log输出到哪里?

我想查看logmapper或者reducer输出?在containerfoler下的syslog中找不到?那么log输出到哪里呢?publicclassSkipStat{privatestaticLoglog=LogFactory.getLog(SkipStat.class);privatestaticBlockWorkerRepositoryblockWorkerRepository;static{blockWorkerRepository=newBlockWorkerRepositoryImpl();}privatestaticclassSkipInfoMapperextendsM

hadoop - reducer 的输出发送到 HDFS,其中 map 输出存储在数据节点本地磁盘中?

我对HDFS存储和数据节点存储有点困惑。以下是我的疑惑。Map函数输出将保存到数据节点本地磁盘,reducer输出将发送到HDFS。众所周知,数据block存储在数据节点本地磁盘中有没有数据节点中可用于HDFS的其他磁盘空间??reducer输出文件(part-nnnnn-r-00001)的物理存储位置是什么?它会存储在名称节点硬盘中吗?所以我假设数据节点是HDFS的一部分,我假设数据节点本地磁盘也是HDFS的一部分。问候苏雷什 最佳答案 您必须知道虚拟概念和实际存储之间的区别。HDFS(Hadoop分布式文件系统)只是指定数据将如

java - reducer 可以在 Hadoop 中包含实例变量吗?

我在网上看到关于Reducer有实例变量的例子publicstaticclassMyReducerextendsReducer{privateTreeMapcounts=newTreeMap();publicvoidreduce(IntWritablekey,Iterablevalues,Contextcontext)throwsIOException,InterruptedException{/*populateTreeMap*/}}如果MyReducer对象的一个​​实例用于减少多个键,那么我们应该在某处清除count。我们应该在哪里做这个?或者可能MyReducer的一个实例将用

用于大数据分析的 Hadoop Map Reduce 框架

我选择了关于HadoopMapreduce框架的研讨会主题,作为初学者,我对它的了解非常少。我的疑惑如下:-JobTracker、TaskTracker是作为软件还是硬件提供的?正如在其中一个示例中给出的那样,关于mapreduce已用于查找某些(比如3个)文件中所有单词的出现,那么你在哪里给出查询,即在mapreduce程序中“查找单词的出现”?map如何知道要做什么? 最佳答案 a)WhethertheJobTracker,TaskTrackercomesasasoftwareorHardware?两者都是软件。IE。在集群节点

java - 生成空输出文件的 Map Reduce 作业

程序正在生成空输出文件。谁能建议我哪里出错了。任何帮助将不胜感激。我尝试放置job.setNumReduceTask(0),因为我没有使用reducer,但输出文件仍然是空的。publicstaticclassPrizeDisMapperextendsMapper{intrating=0;TextCustID;IntWritabler;TextMovieID;publicvoidmap(LongWritablekey,Textline,Contextcontext)throwsIOException,InterruptedException{Stringline1=line.toStr

java - 在 Map Reduce 作业 Hadoop 中使用文件中的数据作为 Hash-Map

我有一个包含10,000(“小文件”)行的文件,其中包含键值小文件中的不同键可以具有相同的值。我必须对不同的文件(大文件)进行字数统计。购买我需要用(“小文件”)-inMapper中的值替换(“大文件”)中的键。只有在它在reducer中计数之后。我想在不使用pig/hive的情况下使用单个mapreduce作业来实现它。你能帮我指导我怎么做吗?小文件将在hdfs上,我不确定其他节点将如何从中读取-不认为它甚至被推荐-因为具有小文件的节点将不得不非常努力地向每个节点发送数据maptask。 最佳答案 你可以做一个mapside加入,

java - 在 reducer 的 for 循环中获取编译错误 "Can only iterate over an array or an instance of java.lang.Iterable"

在reducer的for循环中出现编译错误“Canonlyiterateoveranarrayoraninstanceofjava.lang.Iterable”。publicvoidreduce(Textkey,Iteratorvalues,OutputCollectorOutput,Reporterarg3)throwsIOException{//TODOAuto-generatedmethodstubintsum=0;for(IntWritableval:values){sum+=val.get();在上面的代码中,在“for(IntWritableval:values)”处出现编

java - Hadoop MapReduce : Strange Result when Storing Previous Value in Memory in a Reduce Class (Java)

如果我希望存储迭代器的当前值以与Reduce方法中迭代器的下一个值进行比较,Hadoop要求我克隆它而不是简单地将其引用分配给临时变量。我要将代码发布到我的reducer。你会看到两部分:Eclipse中测试的主要方法在Hadoop中执行的reduce方法你会注意到这两行代码是相同的,除了以下几点:main方法从我硬编码到其中的ArrayList获取Iterator,而reduce方法从mapper方法获取Iterator。main方法当然不会执行context.write。这是两者几乎共享的代码:MMIcurrentMMI=null;MMIpreviousMMI=null;Ultra