草庐IT

mapreducer

全部标签

hadoop - Hadoop MapReduce 何时运行组合器的权威来源

已经有很多这样的问题,答案相互矛盾。我还在文献和博客中发现了相互矛盾的说法。在Hadoop权威指南一书中,它说Hadoopdoesnotprovideaguaranteeofhowmanytimesitwillcall[thecombiner]foraparticularmapoutputrecord,ifatall.Inotherwords,callingthecombinerfunctionzero,oneormanytimesshouldproducethesameoutputfromthereducer此处类似问题的答案Onwhatbasismapreduceframework

hadoop - mapreduce 中的 NoSuchElementException

我是mapreduce的新手,遇到NoSuchElementException,请帮忙。在文本下方输入文件容器:thisisahadoopprogramiamwritingitforfirsttime映射器类:publicclassMappersextendsMapReduceBaseimplementsMapper{privateTextword=newText();privateIntWritablesingleWordCount=newIntWritable();privateIntWritableone=newIntWritable(1);@Overridepublicvoid

java - Hadoop facebook 共同的 friend 使用 mapreduce

我在hadoop(Java版本)中尝试使用mapreduce程序,从json文件中查找共同好友列表。json文件内容具有以下模式:{"name":"abc","id":123}[{"name":"xyz","id":124},{"name":"def","id":125},{"name":"cxf","id":155}]{"name":"cxf","id":155}[{"name":"xyz","id":124},{"name":"abc","id":123},{"name":"yyy","id":129}]模式解释如下:friendjson选项卡由相关friendjson数组分隔因此

hadoop - MapReduce默认的Input键是什么?

我正在使用基于hadoop2.6.0的MpaReduce,我想跳过数据文件的前六行,所以我使用if(key.get()在我的map()函数中。但这是不对的。我发现map()的inputkey不是文件行的offset。关键是每行长度的总和。为什么?看起来不像很多书上的字。 最佳答案 Ifyoulookatthecode,它是文件的实际字节偏移量而不是行。如果您想跳过文件的前n行,您可能必须编写自己的输入格式/记录阅读器,或者确保在映射器逻辑ala中保留一个行计数器:intlines=0;publicvoidmap(LongWritab

Hadoop MapReduce 无法连接到 ResourceManager

我正在尝试使用单节点集群(伪分布式)设置Hadoop并使用theapacheguide这样做。现在我正在尝试运行MapReduce作业并使用它提供的示例bin/hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha3.jargrepinputoutput'dfs[a-z]+'hadoop@hadoop:/usr/local/hadoop$bin/hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples-3.0.0-alpha3.jargrepin

java - 如何为 Mapreduce 设计键值对以找到集合中的最大值?

我是MapReduce程序员的初学者。你能帮我设计以下问题的键值对吗?问题陈述-找到最大值并将其与key一起打印输入:KeyValueABC10TCA13RTY23FTY45左侧列中的键将是唯一的。不允许重复。输出:FTY45由于45是所有值中的最大值,因此它必须与key一起打印。你能帮我设计map()和reduce()函数吗?这两个函数的键值对是什么? 最佳答案 在mapper中,记住最大数classMapper{VmaxV;KmaxK;map(K,V,context){if(V>maxV){maxV=V;maxK=K;}}cle

java - MapReduce键值对产生垃圾值的输出值

问题陈述-找到最大值并将其与key一起打印输入:KeyValueABC10TCA13RTY23FTY45左侧列中的键将是唯一的。不允许重复。输出:FTY45由于45是所有值中的最大值,因此它必须与key一起打印。我已经根据此链接中共享的伪代码编写了MapReduce代码HowtodesigntheKeyValuepairsforMapreducetofindthemaximumvalueinaset?map-importjava.io.IOException;importjava.util.StringTokenizer;importorg.apache.hadoop.io.Text;

java - Hadoop MapReduce 在 reducer 中访问 mapper 输出数

我有一个映射器,它输出句子中的每个字母,这是键,数字1作为它的值。例如,我的映射器将“你好吗”输出为H1o1w1a1r1e1y1o1u1我的reducer接受它并使用1来计算每个字母的出现次数。例如,它会输出字母“o”作为键,输出2作为它的值,因为它出现了两次。我的问题是我想计算每个字母在句子中出现的频率。为此,我需要访问句子中字母的总数(映射器输出的数量)。我是mapreduce的新手,所以我不确定最好的方法。 最佳答案 假设您的映射器正在获取一个完整的句子,您试图在其中找到频率并且您正在使用JavaAPI,您可以通过contex

java - 如果 hadoop mapreduce 中至少有一个拆分失败,如何停止处理其他拆分或文件本身

我有一个很大的CSV文件,比如2GB(或者说10k行)要使用map-reduce进行处理。知道每个block是128MB,我有16个block,因此有16个拆分。因为它是一个文本文件,所以我可以让多个映射器同时处理文件的不同部分(不同的拆分)。映射器计数默认为4,因此并行处理文件的4个部分要求是,如果至少有一次拆分失败,我不想进一步处理文件,或者不想将文件内容写入输出文件夹。也就是说,如果CSV的至少一行导致错误,我不希望该文件被进一步处理,也不需要它的输出。(这是因为我可以纠正错误并重新运行它)我该怎么做?我扩展了FileInputFormat以覆盖isSplittable方法并返回

java - 计算每个重叠间隔数的最佳 MapReduce 算法

[a,b]格式有数十亿个区间,它们都会将数字空间切割成多个单片。我打算输出所有单件,其中重叠间隔的数量在这件作品中。例如:有3个区间,分别是:[1,7]、[2,3]、[6,8]。它应该输出如下结果:[-∞,1]:0[1,2]:1[2,3]:2[3,6]:1[6,7]:2[7,8]:1[8,+∞]:0如果对于单个机器(不是MapReduce中的分布式解决方案),我知道解决方案可以将间隔实例分解为start_n、end_n,排序数字并从左到右迭代并使用计数器来计算当前件和输出中的数量。但我不确定如何将此算法拆分为分布式方式。有什么建议吗?谢谢。 最佳答案