草庐IT

mapreduce_shuffle

全部标签

java - Hadoop : Provide directory as input to MapReduce job

我正在使用ClouderaHadoop。我能够运行简单的mapreduce程序,我提供一个文件作为MapReduce程序的输入。此文件包含所有其他要由mapper函数处理的文件。但是,我卡在了一点。/folder1-file1.txt-file2.txt-file3.txt如何将MapReduce程序的输入路径指定为"/folder1",以便它可以开始处理该目录中的每个文件?有什么想法吗?编辑:1)首先,我提供了inputFile.txt作为mapreduce程序的输入。它运行良好。>inputFile.txtfile1.txtfile2.txtfile3.txt2)但是现在,我不想提

Hadoop 配置 : mapred. * 与 mapreduce.*

我注意到有两组Hadoop配置参数:一组带有mapred.*,另一组带有mapreduce.。我猜这些可能是由于旧API与新API造成的,但如果我没记错的话,这些似乎共存于新API中。我对么?如果是这样,是否有一个通用的声明什么用于mapred.什么用于mapreduce.*? 最佳答案 检查0.20.2的源代码,只有几个mapreduce.*属性,它们围绕配置作业输入/输出格式、mapper/combiner/reducer和partitioner类(它们还向作业客户端发出用户正在使用新API的信号-查看o.a.h.mapredu

graph - 使用 Hadoop/MapReduce 查找连接组件

我需要为一个巨大的数据集找到连接的组件。(图是无向的)一个显而易见的选择是MapReduce。但我是MapReduce的新手,没有足够的时间来学习它并自己编写代码。我只是想知道是否有相同的API,因为这是社交网络分析中非常常见的问题?或者至少如果有人知道任何可靠的(经过试验和测试的)来源,我至少可以自己开始实现?谢谢 最佳答案 我为自己写了博客:http://codingwiththomas.blogspot.de/2011/04/graph-exploration-with-hadoop-mapreduce.html但是MapRe

hadoop - PIG local和mapreduce模式的区别

在本地运行PIG脚本和在mapreduce上运行的实际区别是什么?我了解mapreduce模式是在安装了hdfs的集群上运行它。这是否意味着本地模式不需要HDFS,因此甚至不会触发mapreduce作业?有什么区别,你什么时候和另一个? 最佳答案 本地模式将构建一个模拟的mapreduce作业,该作业从磁盘上的本地文件运行。理论上相当于MapReduce,但它不是“真正的”mr工作。从用户的角度来看,您不应该能够分辨出差异。本地模式非常适合开发。 关于hadoop-PIGlocal和ma

aggregate - Elastic MapReduce 中的可用缩减器

我希望我是以正确的方式提出这个问题。我正在学习使用ElasticMapReduce的方法,并且看到了很多关于可与“流式”作业流一起使用的“聚合”reducer的引用资料。在Amazon的“AmazonElasticMapReduce简介”PDF中,它指出“AmazonElasticMapReduce有一个名为aggregrate的默认缩减器”我想知道的是:还有其他可用的默认reducer吗?我知道我可以编写自己的reducer,但我不想最终编写已经存在的东西并“重新发明轮子”,因为我确信我的轮子不会像原来的那样好。 最佳答案 他们引

hadoop - 是否可以在 Hadoop MapReduce 中使用多个不同的映射器进行多个输入?

是否可以在HadoopMapReduce中使用多个不同的映射器进行多个输入?每个映射器类都处理一组不同的输入,但它们都会发出由同一个reducer使用的键值对。请注意,我在这里不是在谈论链接映射器,而是在谈论并行运行不同的映射器,而不是顺序运行。 最佳答案 这称为连接。您想使用mapred.*包中的映射器和缩减器(较旧,但仍受支持)。较新的包(mapreduce.*)只允许一个映射器输入。使用mapred包,您可以使用MultipleInputs类来定义连接:MultipleInputs.addInputPath(jobConf,n

hadoop - Hbase mapreduce错误

我写作业mapreduce,输入是hbase中的一张表。作业运行时出现错误:org.apache.hadoop.hbase.client.ScannerTimeoutException:88557mspassedsincethelastinvocation,timeoutiscurrentlysetto60000atorg.apache.hadoop.hbase.client.HTable$ClientScanner.next(HTable.java:1196)atorg.apache.hadoop.hbase.mapreduce.TableRecordReaderImpl.nextK

performance - 在 Hadoop mapreduce 作业中重用 JVM

我知道我们可以设置属性“mapred.job.reuse.jvm.num.tasks”来重新使用JVM。我的问题是:(1)如何决定这里要设置的任务个数,-1还是其他一些正整数?(2)在mapreduce作业中重用JVM并将此属性设置为-1的值是个好主意吗?非常感谢! 最佳答案 如果您有非常小的任务,这些任务肯定会在彼此之后运行,将此属性设置为-1很有用(意味着生成的JVM将被无限次重复使用)。因此,您只需生成(集群中可供您的作业使用的任务数)-JVM,而不是(任务数)-JVM。这是一个巨大的性能改进。在长时间运行的作业中,与设置新J

hadoop - mapreduce 框架基于什么决定是否启动组合器

根据定义,“Combiner可以在mapper和reducer之间的每个键上被调用0次、1次或多次。”我想知道mapreduce框架是根据什么来决定cobiner启动多少次的。 最佳答案 只是溢出到磁盘的次数。MapOutputBuffer填满后进行排序,同时进行合并。您可以使用参数io.sort.mb、io.sort.spill.percent、io.sort调整溢出到磁盘的数量。record.percent-这些也在文档(书籍和在线资源)中进行了解释。特定组合器运行次数的示例:0->nocombinerwasdefined1->

hadoop - 如何使用 Elastic MapReduce API 在一个步骤中向 Hadoop 提交多个作业?

AmazonEMRDocumentationtoaddstepstocluster表示单个ElasticMapReduce步骤可以向Hadoop提交多个作业。然而,AmazonEMRDocumentationforStepconfiguration建议单个步骤只能执行一次hadoop-streaming.jar(也就是说,HadoopJarStep是一个HadoopJarStepConfig而不是一组HadoopJarStepConfigs)。一次向Hadoop提交多个作业的正确语法是什么? 最佳答案 赞AmazonEMRDocum