草庐IT

mapreduce_shuffle

全部标签

java - (Hadoop) : reduce method is not getting executed/called while running mapreduce job

我在执行我的mapreduce作业时遇到问题。作为我的mapreduce任务的一部分,我正在使用mapreduce连接,其中包括多个map方法和单个reducer方法。我的两个map方法都被执行了,但是我的reducer没有被我的驱动程序类执行/调用。因此,最终输出只有在我的map阶段收集的数据。我是否在reduce阶段使用了错误的输入和输出值?map和reduce阶段是否存在输入输出不匹配?在这方面帮助我。这是我的代码..publicclassCompareInputTestextendsConfiguredimplementsTool{publicstaticclassFirstF

hadoop - 在哪里设置配置mapreduce.job.jvm.numtasks?

我在一本书(ProfessionalHadoopSolutions)中读到,可以通过指定作业配置mapreduce.job.jvm.numtasks来启用JVM重用。我的问题是我们需要在Driver类中设置它吗?我尝试在mapreduce.Job对象中查找此配置,但没有找到。这个API可以在我使用的Hadoop版本的其他地方被替换吗?还是我没有找对地方?我使用的是Hadoop版本1.0.3。我还尝试寻找旧属性mapred.job.reuse.jvm.num.tasks,但我找不到。谢谢! 最佳答案 您的来源指的是更新的Hadoop2

caching - 将 URI 作为运行时变量传递给 mapreduce hadoop 中的分布式缓存

我在我的mapreduce程序中使用分布式缓存,我将三个变量传递给这个mapreduce程序inputfile、outputdir和configfile.我想添加第三个参数,即配置文件到分布式缓存。我在MapReduce驱动程序的run()方法中设置参数如下:-conf.set("CONF_XML",args[2]);如何用同样的方法将这个文件添加到分布式缓存中。我该怎么做?通常我们添加使用URI(new(filepath));DistributedCache.addCacheFile(newURI(file_path),conf); 最佳答案

hadoop - MapReduce什么时候调用Exactly Combiner?

Combiners是使用与reducer相同的类和大部分相同的代码制作的。但是问题是什么时候在sort和shuffle之前或reduce之前调用它?如果在排序和洗牌之前i.即,在mapper之后它将如何获得输入[key,list]?因为这是由排序和随机播放给出的。现在,如果它在sortandshufflei之后被调用。即,就在reducer之前,然后输出到组合器是[key,value]像reducer那么reducer如何将输入作为[key,list]? 最佳答案 组合器的输出类型必须与映射器的输出类型匹配。Hadoop不保证组合器

java - MapReduce 多个输出 : File Could Only Be Replicated to 0 Nodes, 而不是 1

我有一个Reduce作业,我收到上述错误,文件只能复制到0个节点而不是1个。我在网上搜索过,发现这可能是数据节点的问题,但我正在运行此工作流中的其他MapReduce作业都在工作。我看到的唯一区别是我使用了多个输出并指定了一个文件夹,但我确信路径是正确的。这是多输出写入行:mos.write("mosName",newLongWritable(key),value,outputFilePath);我得到的确切错误是:org.apache.hadoop.ipc.RemoteException(java.io.IOException):Filexxxcouldonlybereplicate

python - MapReduce using hadoop streaming via python - 将列表从映射器传递到缩减器并将其作为列表读取

我想将列表作为值从映射器传递到缩减器阶段。目前,缩减器将列表作为字符串读取。有没有一种方法可以确保python可以将其解释为列表。 最佳答案 Hadoop流使用stdin和stdout进行通信;因此,进入每个后续作业的所有内容都将是一个字符串。您可以在表示中使用某种分隔符,例如逗号:the,items,in,my,list然后将它们拆分到你的reducer中:forlineinsys.stdin:data=line.split(',')如果你想让它成为一本字典:importastforlineinsys.stdin:dict=ast

java - 如何使用 MapReduce 将 CSV 导入 HBASE 表

您好,我是hadoop的新手,我正在尝试使用MapReduce将csv表导入到Hbase。我正在使用hadoop1.2.1和hbase1.1.1我有以下格式的数据:WbanNumber,YearMonthDay,Time,HourlyPrecip03011,20060301,0050,003011,20060301,0150,0我写了下面的批量加载代码publicclassBulkLoadDriverextendsConfiguredimplementsTool{publicstaticvoidmain(String[]args)throwsException{intresult=To

hadoop - 从映射器输出中获取前 N 个项目 - Mapreduce

我的Mapper任务返回以下输出:2c2g3a3b6r我已经编写了生成正确输出的reducer代码和keycomparator,但是我如何获得Mapper输出的前3名(按计数排名前N):publicstaticclassWLReducer2extendsReducer{@Overrideprotectedvoidreduce(IntWritablekey,Iterablevalues,Contextcontext)throwsIOException,InterruptedException{for(Textx:values){context.write(newText(x),key);

hadoop - 减少之前的 MapReduce 过滤器

我有一个HadoopMapReduce作业,可以拆分不同类型的文档(地点、人员、组织、算法等)。对于每个文档,我都有一个标记来标识文档类型和指向其他文档的链接,但是在任务中到达链接页面之前,我不知道链接的文档是哪种类型。在Map阶段,我识别链接和当前页面的类型,然后将链接的信息和带有标签的当前文档作为值Emmit到单个reducer,KeyNullWritableValue“CurrentDoc::Type::链接”。在reducer阶段,它使用值的“CurrentDoc::Type”按类型对所有文档进行分组,然后仅在属于特定类型的文档的“Document::Link”之间发出关系。但

java - MapReduce Apache Hadoop 技术

我正在尝试使用MapReduceHadoop技术对wordcount程序进行统计。我需要做的是开发一个索引字数统计应用程序,该应用程序将计算给定输入文件集中每个文件中每个字词的出现次数。此文件集存在于AmazonS3存储桶中。它还将计算每个单词的总出现次数。我附上了计算给定文件集中单词出现次数的代码。在此之后,我需要打印出哪个文件中出现了哪个单词,以及该特定文件中该单词出现的次数。我知道它有点复杂,但我们将不胜感激。map.javaimportjava.io.IOException;importjava.util.*;importorg.apache.hadoop.io.*;impor