草庐IT

mapReduce

全部标签

hadoop - hadoop map/reduce 可以通过拆分数据大小来加速吗?

我能否通过将输入数据拆分为更小的block来增加我的hadoopmap/reduce作业的执行时间?第一个问题:例如,我有1GB的输入文件用于映射任务。我的默认block大小是250MB。所以只有4个映射器将被分配来完成这项工作。如果我将数据分成10block,每block为100MB,那么我有10个映射器来完成这项工作。但是这样每一个splitpiece都会在存储中占用1个block,也就是说每个splitdatablock会浪费150MB。如果我不想更改存储的block大小,在这种情况下应该怎么做?第二个问题:如果我在映射作业之前拆分输入数据,它可以提高映射作业的性能。因此,如果我

hadoop - YARN MapReduce 内存不足

我正在尝试在YarnMapReduce中启动我的应用程序。我在4个主机(1个资源管理器和4个节点管理器)中设置了MapReduce。每个主机有2个内核和4GBRAM。当我运行我的应用程序时,它由于缺少RAM[1]而中止。我应该如何设置YarnMapReduce以使作业不会耗尽RAM?[1]我遇到的错误。2016-02-0916:01:41,607INFOorg.apache.hadoop.yarn.server.nodemanager.containermanager.monitor.ContainersMonitorImpl:MemoryusageofProcessTree1639f

hadoop - 如何使 Hadoop MR 只读文件而不是输入路径中的文件夹

根据我们的要求,一个作业的输出将是另一个作业的输入。通过使用多输出概念,我们在输出路径中创建一个新文件夹并将这些记录写入文件夹。这是它的样子:OPFolder1/MultipleOP/SplRecords-m-0000*OPFolder1/part-m-0000*files当新作业使用输入作为OPFolder1时,我遇到以下错误org.apache.hadoop.hdfs.DistributedFileSystem.open(DistributedFileSystem.java:298)atorg.apache.hadoop.fs.FileSystem.open(FileSystem.

hadoop - Spark 和 Map-Reduce 一起使用

在运行mapreduce作业的集群上运行Spark的最佳方法是什么?第一个问题是关于数据的共存性。当我启动一个Spark应用程序时,它会分配执行程序,对吗?它如何知道将它们分配到哪里,以便它们与作业所需的数据位于相同的节点中?(一个作业可能需要一个数据,而另一个作业可能需要另一个数据)如果我保持Spark应用程序运行,那么执行程序会从集群中的机器中获取插槽,这是否意味着对于共存,我需要在每个节点上都有一个Spark执行程序?随着执行程序的运行,这意味着我的mapreduce作业的资源变少了,对吧?我可以为每项工作停止和启动Spark应用程序,但这样就失去了让执行程序启动和运行的速度优势

java - 为什么 hadoop 输出文件 part-r-00000 是空的

我的MR日志是:[root@siconglihadoop-2.4.1]#hadoopjarflowcount.jarcn.itheima.bigdata.hadoop.mr.flowcount.FlowCount/data/join.txt/out16/04/1323:32:20WARNutil.NativeCodeLoader:Unabletoloadnative-hadooplibraryforyourplatform...usingbuiltin-javaclasseswhereapplicable16/04/1323:32:22INFOclient.RMProxy:Connec

java - 链接两个作业时未调用 Hadoop 第二个 reducer

我有一个hadoop程序,我想在其中链接两个作业,例如输入->mapper1->reducer1->mapper2->reducer2->输出。前半部分工作正常,我得到了正确的中间输出。问题在于第二份工作。特别是,我相信在第二份工作中,映射器由于某种原因没有调用正确的reducer,因为我得到了类型不匹配。这是我设置作业的主要代码://JOB1Pathinput1=newPath(otherArgs.get(0));Pathoutput1=newPath("/tempBinaryPath");Jobjob1=Job.getInstance(conf);job1.setJarByClas

hadoop - pig : how to efficiently LOAD and FILTER a large dataset?

我有一个大型数据集,分成许多200GB的block。目前,我正在努力使用Pig处理数据。事实上,我的集群很小(4个节点)。我认为一个可能的瓶颈是当我加载数据时,因为我只需要我拥有的2TB数据中的一小部分。具体来说,我想知道是否加载整个数据集,然后过滤A=load‘data_part*’as(x,y);A=FILTERAbyx>0效率低于加载每个block,过滤每个block并将所有内容附加在一起A1=load‘data_part1’as(x,y);A1=FILTERA1byx>0A2=load‘data_part2’as(x,y);A2=FILTERA2byx>0A=UNIONA1,A

java - Hadoop 为每个映射器使用一个实例

我正在使用Hadoop的mapreduce来解析xml文件。所以我有一个名为Parser的类,它可以有一个方法parse()来解析xml文件。所以我应该在Mapper的map()函数中使用它。然而,这意味着每次当我想调用一个Parser时,我都需要创建一个Parser实例。但是这个实例对于每个map作业应该是相同的。所以我想知道是否可以只实例化此Parser一次?还有一个附加问题,为什么Mapper类总是静态的? 最佳答案 为确保每个Mapper一个解析器实例,请使用映射器设置方法来实例化您的解析器实例,并使用清理方法进行清理。同样

hadoop - Map Reduce 输出不正确

我有一个输入文件UserId|TrackId|Shared|Radio|Skip111115|222|0|1|0111113|225|1|0|0111117|223|0|1|1111115|225|1|0|0我需要为所有轨道ID添加Shared和Radio列输出应该是222,1223,1225,2通过我编写的以下程序,我得到了222,1223,1225,1225,2.不确定错误是什么这是我的程序publicclassTotal{publicstaticclassListenMapextendsMapper{publicvoidmap(LongWritablekey,Textvalues

hadoop - hadoop中context.getconfiguration的含义

我对按参数搜索的代码有这个疑问。什么是context.getConfiguration().get("Uid2Search");packageSearchTxnByArg;//ThisistheMapperProgramforSearchTxnByArgimportjava.io.IOException;importorg.apache.hadoop.io.LongWritable;importorg.apache.hadoop.io.NullWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapredu