草庐IT

MPI_Reduce

全部标签

hadoop - 对相同的 reduce 任务的两次尝试是否应该继续并行运行?

我的hadoopreduce任务中的Action有外部效果,而且它们不是幂等的。我在任务跟踪器中观察到,尝试了一个reducer,然后启动了同一组键的另一个reducer,而没有杀死原来的reducer。我配置错了吗?这是这个reduce任务的表: 最佳答案 这是由于hadoop中的推测执行。如果Hadoop检测到少数集群节点上有一些慢速任务,它是Hadoop指定备份任务的选项。备份任务将优先安排在速度较快的节点上。重复任务中最先完成的任务将成为用于进一步操作的任务。您可以通过将以下参数设置为false来关闭此功能mapred.re

java - Hadoop Map/Reduce WARN mapred.LocalJobRunner : job_local_0001 java. io.EOFException?

在Eclipse6.91中运行Hadoop0.20.2M/R应用。我在执行后收到这些错误和警告:13/07/2416:52:52INFOjvm.JvmMetrics:InitializingJVMMetricswithprocessName=JobTracker,sessionId=13/07/2416:52:52WARNmapred.JobClient:UseGenericOptionsParserforparsingthearguments.ApplicationsshouldimplementToolforthesame.13/07/2416:52:52WARNmapred.Jo

hadoop - Cassandra Hadoop map reduce with wide rows ignores slice predicate

我有一个宽行列族,我正在尝试对其运行map缩减作业。CF是按时间顺序排列的事件集合,其中列名本质上是时间戳。我需要针对CF中的特定日期范围运行MR作业。当我在widerow属性设置为false的情况下运行作业时,预期的列切片将传递到映射器类中。但是当我将widerow设置为true时,整个列族都会被处理,而忽略切片谓词。问题是我必须使用widerow支持,因为如果一次加载,切片中的列数会变得非常大并消耗所有内存。我找到了概述问题的这个JIRA任务,但由于“无法重现”而被关闭-https://issues.apache.org/jira/browse/CASSANDRA-4871?pag

hadoop - 使用hadoop map reduce获取最高薪水员工姓名

我是M/R程序的新手..我在HDFS中有一个包含这种结构数据的文件EmpId,EmpName,Dept,Salary,1231,用户名1,部门1,50001232,用户名2,部门2,60001233,用户名3,部门3,7000.......................现在我想找到工资最高的员工的姓名我写了一个mapreduce来找到最高的薪水。在我的映射器类中,我发出了这样的输出output.collect("最大值",员工工资);在reducer中,我找到了键“maxvalue”的最大值。现在我想在映射器中使用这个值,并找到赚取最高薪水的员工的名字。我如何发送reducer输出映

java - Hadoop 集群卡住卡在 Reduce > copy >

到目前为止,对于这个问题,我已经尝试了这里的解决方案,1,在这里,2.然而,虽然这些解决方案确实导致执行mapreduce任务,但看起来它们只在名称节点上运行,因为我得到类似于此处的输出,3。.基本上,我正在使用我自己设计的mapreduce算法运行一个2节点集群。mapreducejar在单节点集群上完美执行,这让我觉得我的hadoop多节点配置有问题。要设置多节点,我遵循了教程here.为了报告出了什么问题,当我执行我的程序时(在检查名称节点、任务跟踪器、作业跟踪器和数据节点正在各自的节点上运行之后),我的程序在终端中的这一行停止:INFOmapred.JobClient:map1

hadoop - map和reduce如何并行运行

我是hadoop的初学者,当我运行hadoop作业时,我注意到进度日志显示映射80%减少25%。我对mapreduce的理解是映射器产生一堆中间值。在映射器产生输出之后,有中间对的洗牌/排序,这些值被发送以减少作业。谁能解释一下map/reduce如何并行工作。 最佳答案 必须将映射器的输出复制到适当的缩减器节点。这称为洗牌过程。这甚至可以在所有映射器完成之前就开始,因为决定将哪个键转到哪个缩减器仅取决于映射器的输出键。所以你看到的25%的进步是由于洗牌阶段。shuffle之后是sort阶段,然后是reduce阶段。除非所有映射器都

hadoop - 将 jars 添加到启动 map reduce 作业的代码的类路径中

我正在尝试从实现Tool接口(interface)的应用程序启动mapreduce作业。该应用程序几乎没有做其他事情,例如mapreduce作业的先决条件。此类使用一些第三方库,如何在运行jar时使用以下命令将这些jar添加到类路径:hadoopjar[args]从这里Cloudera'spost我试图将HADOOP_CLASSPATHenvvar设置为第三方jar,但没有成功。上面提到的第三方jar仅由启Action业的类而不是Mapper/Reducer类需要。所以我不需要把它们放在分布式缓存中。当我在$HADOOP_HOME/lib下复制这些我需要的第三方jar时,它可以工作,但

java - 将输入数据动态添加到 Hadoop Map-Reduce 作业?

我能否在运行时将输入文件或输入数据附加到map-reduce作业而不创建竞争条件? 最佳答案 我认为理论上你可以在输入中添加更多文件,只要它:匹配您的FileInputFormat模式发生在InputFormat.getSplits()调用之前,这确实让您在提交作业后的时间很短。关于计算拆分后的竞争条件,请注意附加到现有文件仅在版本0.21.0之后可用。.即使您可以修改您的文件,您的分割点也已经预先计算好了,而且您的新数据很可能不会被映射器获取。不过,我怀疑这会导致您的流程崩溃。您可以尝试的是禁用文件内的拆分(即为每个文件分配一个映

hadoop - 如何Hadoop Map Reduce整个文件

我玩过各种流映射减少字数统计示例,其中Hadoop/Hbase似乎采用大文件并在节点之间平均拆分(在换行符处)。然后它将部分文档的每一行提交到我的代码的map部分。我的问题是,当我有很多小的非结构化和半结构化文档时,如何让Hadoop将整个文档提交到我的map代码? 最佳答案 文件拆分由InputFormat.getSplits计算。因此,对于每个输入文件,它都会获得拆分数,并且每个拆分都会提交给映射器。现在基于InputFormatMapper将处理输入拆分。我们有不同类型的输入格式,例如TextInputFormat,它将文本文

hadoop - 节点管理器是否在每个 DataNode 内部执行 Map 和 Reduce 阶段?

我了解资源管理器将MapReduce程序发送到每个节点管理器,以便MapReduce在每个节点中执行。但是在看到这张图片之后,我对实际Map&Reduce作业的执行位置以及数据节点之间的洗牌如何发生感到困惑?难道不是花时间对不同数据节点的数据进行排序和混洗/发送数据来执行ReduceJob吗?请解释一下。另外请告诉我什么是图中的MapNode和ReduceNode。图片来源:http://gppd-wiki.inf.ufrgs.br/index.php/MapReduce 最佳答案 inputsplit是存储在hdfs上的文件的逻辑