草庐IT

reducer-combiner

全部标签

Hadoop Map Reduce 索引越界

我的程序对于较小的输入运行良好,但是当我增加输入的大小时,第210行(context.nextKeyValue();)似乎抛出indexoutofbounds异常。下面是映射器的设置方法。我在那里调用nextkeyvalue一次,因为每个文件的第一行是一个标题。由于标题,拆分文件设置为false。跟内存有关系吗?如何解决?即使我已将maxmapattempt设置为3,下面的错误消息也会显示68次。顺便说一句,有55次拆分。它不应该显示55次或者55*3吗?或者也许只有3个?它是如何工作的?@Overrideprotectedvoidsetup(Contextcontext)throws

java - 在 MapReduce 程序中,reducer 没有被 Driver 调用

我根据mapreduce编程模型编写了这个程序,Driver代码如下我的司机类(class)publicclassMRDriverextendsConfiguredimplementsTool{@Overridepublicintrun(String[]strings)throwsException{if(strings.length!=2){System.err.println("usage:");System.exit(0);}Jobjob=newJob(getConf(),"multiplefiles");job.setJarByClass(MRDriver.class);job

algorithm - 为什么我们说 map-reduce 比传统方法更好地解决了 "Paper reference"问题?

据说当我们希望对论文引用进行统计时,map-reduce可以比传统方式做得更好,因为传统方式涉及大量内存/磁盘切换。我不太明白为什么传统方法不好。假设我只在一台机器上运行map-reduce(没有集群),它是否仍然比传统方式更好地解决了一些问题?或者换句话说,“map-reduce”这种算法范式本身,从算法的角度来说,在解决问题上是否有一些优势?谢谢。 最佳答案 AtbestM/R允许重新应用与高级统计包相同的算法。但更典型的是,在使用的算法中会做出一些牺牲——以允许以分布式方式运行。Map/Reduce在交叉采样(或任何其他采样方

hadoop - shuffle 和 sort 阶段是 map 还是 reduce 阶段的一部分?

我的理解是,在mapreduce编程模型中我们有map和reduce两个阶段。完成映射阶段后,生成中间值(键、值)并将这些值传递给缩减器。我怀疑在map()阶段之后,shuffle和sort会到来。所以,我觉得shuffle和sort是reducer阶段的一部分,是这样吗?如果是这种情况,combiner()是如何工作的? 最佳答案 其实map/reduce中有3个阶段:map随机排序减少Shuffle&sort是一个纯框架阶段(作为开发人员,您只需编写map和reduce函数),它允许map任务和reduce阶段之间的通信。组合器

hadoop - Reducer 无法针对不同的映射器按键分组

用例:文件1包含展示数据,其中包含trackerId+其他字段文件2包含点击详细信息包含trackerId+clicked我对以上两个和一个reducer使用了不同的映射器,但reducer似乎无法合并两个文件数据。packagecom.hadoop.intellipaat;importjava.io.IOException;importjava.util.List;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.LongWrita

java - 在 Reducer 中使用 System.setProperty()

我正在尝试在我的Reducer中设置一个Java系统属性java.util.Arrays.useLegacyMergeSort,以强制系统使用JDK6实现的Arrays.sort方法,而不是JDK8。packagescoring.devicestatus;importjava.io.IOException;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Date;importjava.util.LinkedHashMap;impo

hadoop - 在 mapper 的单个输出上运行多个 reducer

我正在使用mapreduce实现左连接功能。左侧有大约6亿条记录,右侧有大约2300万条记录。在映射器中,我使用左连接条件中使用的列制作键,并将键值输出从映射器传递到缩减器。我遇到了性能问题,因为两个表中的值数量都很高(例如分别为456789和78960)的映射器键很少。即使其他reducer完成了它们的工作,这些reducer仍会继续运行更长时间。有没有什么方法可以让多个reducer并行处理mapper的相同键值输出以提高性能?这是我要优化的Hive查询。selectdistincta.sequence,a.fr_nbr,b.to_nbr,a.fr_radius,a.fr_zip,

java - 如何设置一个 reducer 来发送 <Text, IntWritable> 和一个 mapper 来接收 <Text, IntWritable>?

我正在使用ma​​preduce在hadoop上开发一些代码,它使用了两个映射器和两个缩减器。我被告知要使用SequenceFileInputFormat和SequenceFileOutputFormat使第一个reducer的输出和第二个mapper的输入一起工作。问题是我正在记录一个错误,在googleing很多之后我不知道为什么。错误:java.lang.Exception:java.io.IOException:Typemismatchinkeyfrommap:expectedorg.apache.hadoop.io.IntWritable,receivedorg.apache

哈多普 : reduce output records=0

我正在用2个映射器类和一个化简器编写MapReduce代码,但我不知道为什么我有一个化简输出记录=0。请告诉我如何解决这个问题packagereducesidejoin;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduce.Reducer;importjava.io.IOException;importjava.util.Iterator;publicclassReduceSideJoinReducerextendsReducer{

hadoop - 如何在Hadoop中设置NameNodes、DataNodes、Mappers和Reducers的数量

我想知道如何设置数量NameNode数据节点映射器reducer在Hadoop的代码/配置中。 最佳答案 Namenode和DataNode数量由您的业务需求决定。您无需通过编程来设置它们。如果您需要可伸缩性,则必须了解HDFS联邦的概念。请参阅此文档page有关联邦的更多详细信息。Inordertoscalethenameservicehorizontally,federationusesmultipleindependentNamenodes/namespaces.TheNamenodesarefederated;theName