草庐IT

java - Map阶段和Reduce阶段进度如何计算

我想知道在HadoopMapReduce中运行作业时,map-stage和reducestage-progress是如何计算的。我进入JobClient.java寻找线索,我认为JobStatus.java存储了所有这些信息,但我找不到百分比是如何计算/更新的。 最佳答案 来自org.apache.hadoop.mapred.JobInProgress#updateTaskStatus:doubleprogressDelta=tip.getProgress()-oldProgress;if(tip.isMapTask()){this

java - 减少阶段的 Mapreduce java 堆空间错误

我有一个简单的mapreduce作业来构建tfidf索引,但是当reducer大约为java堆空间错误时,我总是会遇到错误。70%。我尝试了不同的方法,使用各种结构,告诉我的工作在命令中使用更多内存并在较小的样本上运行我的工作,但没有任何改变甚至很小。我的想法已经结束,所以我将不胜感激任何关于正在发生的事情的提示。Mapper产生正确的输出,但reducer总是由于java堆空间错误而失败。这是我正在运行的命令(我试图指定使用的内存量):hadoopjarWordCountMPv1.jar-Dmapreduce.map.memory.mb=2048-Dmapreduce.reduce.

java - 阶段 13.0 (TID 13) 中的任务 0.0 异常 java.lang.OutOfMemoryError : Java heap space

当我们使用“mahoutspark-rowsimilarity”操作时,我们正在试验问题。我们有一个包含100k行和100个项目的输入矩阵,进程抛出一个关于“Exceptionintask0.0instage13.0(TID13)java.lang.OutOfMemoryError:Javaheapspace”,我们尝试增加JAVAHEAPMEMORY、MAHOUTHEAPMEMORY和spark.driver.memory。环境版本:驯象师:0.11.1星火:1.6.0。Mahout命令行:/opt/mahout/bin/mahoutspark-rowsimilarity-i50k_

hadoop - Spark 查询有问题,因为处理阻塞在一个阶段并一直阻塞直到磁盘变满

我正在下面的spark上执行此查询,但它不起作用。当到达第13阶段时,它会阻塞。并且磁盘空间在增加的同时在同一阶段被阻塞什么都不做,然后当磁盘变满时。查询有问题,您看到spark查询有什么问题了吗?首先我在配置单元中创建一个View:createviewq2_min_ps_supplycostasselectp_partkeyasmin_p_partkey,min(ps_supplycost)asmin_ps_supplycostfrompart,partsupp,supplier,nation,regionwherep_partkey=ps_partkeyands_suppkey=p

sorting - hadoop streaming 是否在 map 和 reduce 阶段之间使用稳定的排序?

这对多阶段作业有影响。例如,如果我们在作业的第1阶段按键“a”排序,在作业的第2阶段按键“b”排序(将第1阶段的输出作为标准输入),我们是否可以假设当两个阶段完成时记录是按键“b”排序,然后按键“a”排序?出于这个问题的目的,假设映射器和缩减器不排列记录顺序。还假设reduce任务的数量为1个或更多。请记住,答案可能会因阶段1的reduce任务数量而异。例如,如果阶段1的reduce任务数量大于1,则keya将被拆分到多个文件中(尽管在相对于每个文件的排序顺序)。然而,当只有一个reduce任务时,所有值都将出现在同一个文件中,这可能是稳定性的必要条件,具体取决于实现。如果答案是肯定的

hadoop - Hadoop Src 2.7.1 的 Reduce 阶段中,哪个函数对 Map 任务的输出进行排序,排序阶段何时开始?

在HadoopSrc2.7.1的Reduce阶段,哪个函数对Map任务的输出进行排序,排序阶段何时开始?我想知道,Hadoop中的哪个函数负责对Map输出进行排序,使用的排序算法是什么? 最佳答案 在从Map任务生成的中间KV(键值)对溢出期间,使用Quicksort技术对map输出进行排序,并将其转到特定的Reducer。在Reducer端,KV对再次使用合并排序技术进行排序并形成组。Reducer端需要排序,因为相同的中间KV对可能来自n-no.ofMap任务。 关于hadoop-H

hadoop - 在 hadoop 的映射阶段写入本地文件

Hadoop将中间结果写入本地磁盘,将reducer的结果写入HDFS。HDFS是什么意思。它在物理上翻译成什么 最佳答案 HDFS是Hadoop分布式文件系统。从物理上讲,它是运行在集群每个节点上的程序,提供与本地文件系统非常相似的文件系统接口(interface)。但是,写入HDFS的数据不仅仅存储在本地磁盘上,而是分布在整个集群的磁盘上。存储在HDFS中的数据通常也会被复制,因此同一个数据block可能会出现在集群中的多个节点上。这提供了可靠的访问,因此一个节点的崩溃或繁忙不会阻止某人能够从HDFS读取任何特定数据block。

hadoop - 只有 reducer 阶段的工作?

在HadoopMapReduce中,中间输出(map输出)保存在本地磁盘中。我想知道是否可以只在reduce阶段启动一个作业,从本地磁盘读取mapoutput,对数据进行分区并执行reduce任务? 最佳答案 Mapper有一个基本实现,称为IdentityMapper,它基本上将所有键值对传递给Reducer。Reducer成对读取不同映射器生成的输出并发出键值对。Reducer的工作是处理来自映射器的数据。如果MapReduce程序员不使用JobConf.setMapperClass设置Mapper类,则IdentityMapp

java - Hadoop MapReduce 中 Map/Combine 之后和 Reduce 阶段之前的数据保存在哪里?

在Spark中,我们可以随时将数据保存在内存中,但我想知道在HadoopMapReduce的Map和Reduce阶段之间数据保存在哪里。它是保存在HDFS、磁盘还是RAM中?我的意思是,当数据被洗牌时(即在Map/Combiner之后和Reduce之前),它保存在哪里? 最佳答案 根据我在HadoopMapreduce方面的知识。1)Map任务输出写入本地磁盘。(在Map/Combiner之后和Reduce任务之前)2)Reducer任务输出写入HDFS。如果Mapreduce作业只有Mapper任务输出写在HDFS中希望这有帮助!

java - HADOOP - 减少简单 MR 作业的阶段挂起

这是一个简单的mapreduce作业。最初这只是将输入目录中的文件复制到输出目录的一种简单方法。Map阶段完成,但reduce阶段只是挂起。我究竟做错了什么?这是少量代码,这是整个工作:importjava.io.IOException;importorg.apache.hadoop.conf.Configuration;importorg.apache.hadoop.fs.Path;importorg.apache.hadoop.io.*;importorg.apache.hadoop.mapreduce.Job;importorg.apache.hadoop.mapreduce.M