草庐IT

elastic-mapreduce

全部标签

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

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

hadoop - mapreduce 程序中总是需要 mapper 函数?

我正在尝试开发一个hadoopmapreduce程序来计算文本文件中的最高温度。输入文本文件如下所示:城市1-10城市2-15城市3-4城市4-20我是mapreduce的初学者,但我读到过mapper,输出应该是转换为有意义的键值对的输入。但是如果我已经有一个像下面这样的输入文件,我不需要写一个映射器文件(因为已经有了键值对)??城市10城市215城市34城市410我试图开发映射器文件,但我不明白在这种情况下是否真的有必要。代码:forlineinsys.stdin:line=line.strip()printline 最佳答案

java - 如何在 Hadoop Mapreduce 中处理两个文件?

我必须使用Mapreduce在Hadoop环境中处理两个相关文件。第一个文件是一个巨大的日志文件,它一直在记录用户的Activity。第二个文件是相对较小的文件,其中包含有关用户的详细信息。两者都是.txt文件。第一个文件(日志文件)的格式为:UserId|loginTime|LogoutTime|roomNum|MachineID这个文件很大(几TB)。第二个文件(用户文件小文件约20MB)为:UserId|UserFname|UserLname|DOB|Address我必须找出用户使用实验室机器的频率,最频繁的用户并列出他们的名字。如果所有内容都在其中,我知道如何处理一个文件。由于

c# - 通过 .net SDK : All MapReduce jobs run with 1 reducer 配置的 HDInsight 集群

我对Hadoop相对缺乏经验,但在过去一年左右的时间里我一直在使用样板代码,通过HDInsight.netSDK编写和提交C#MapReduce控制台应用程序。这些工作似乎不断地与许多映射器一起运行,但只有一个reducer。我的reducer承担了相当多的繁重工作,因此只有一个reducer似乎成了瓶颈。通常我可以通过RDP进入集群并观察作业像液体黄金一样运行,然后在reducer启动时磨成……非常慢的东西)。我如何控制应用于reducer的资源量?我可以将更多资源分配给reducer而不是映射器吗?集群以编程方式启动(根据here)-我可以看到我可以控制配置文件中的各种参数:我走在

hadoop - HBase 表作为 MapReduce 输入?

我想知道将HBase表作为mapreduce作业输入的优缺点是什么?它如何影响性能? 最佳答案 优点:1.可以进行点查找,无需读取整个数据。如果将hbase集成为输入源,则可以完全避免减少阶段,因为可以获取给定键的完整数据。缺点:1.如果hbaseBlock大小没有调整好,扫描一个非常小的集合可能会导致扫描完整的底层数据(最坏情况下1%读取可能导致读取100%数据)在全扫描的情况下,直接从hdfs读取是最“首选”的选择。如果“由于跨区域服务器的区域移动而无法维护数据局部性”,Hbase可能会导致滥用dfs总的来说,这完全取决于一个人

apache - 是否可以配置运行 mapreduce v1 框架的 hadoop 2.6.0? (经典的)

我知道hadoop2.6集群可以配置为运行“yarn”或“local”,其中“yarn”是mapreducev2,“local”只是本地模式。我从这个线程(Whatisthedifferencebetweenclassic,localformapreduce.framework.nameinmapred-site.xml?)中了解到它也可以配置为在“经典”框架中运行,即mapreducev1。但是,如果我只是将“mapreduce.framework.name”从“yarn”(或“local”)更改为“classic”,我将无法运行任何工作。那么,有可能这样做吗?我该如何配置它?我的另

hadoop - 使用 HBase 表作为 MapReduce 源

据我所知,当使用hbase表作为mapreduce作业的源时,我们已经定义了扫描的值。假设我们将其设置为500,这是否意味着每个映射器仅从hbase表中获得500行?如果我们将它设置为非常高的值会有什么问题吗?如果扫描大小很小,我们不会遇到与mapreduce中的小文件相同的问题吗? 最佳答案 这是来自HBaseBook的示例代码关于如何运行从HBase表读取的MapReduce作业。Configurationconfig=HBaseConfiguration.create();Jobjob=newJob(config,"Examp

hadoop - 无法从 MapReduce 作业中获得我想要的结果

这是我的数据样本如果第一列的索引为0,我想使用MapReduce从该文件中获取每个商店的总销售额,商店名称在索引2处,收入在索引4处这是我的映射器代码publicvoidmap(LongWritablekey,Textvalue,Contextcontext)throwsIOException,InterruptedException{Stringline=value.toString();String[]columns=line.split("\t");if(columns.length==6){StringstoreNameString=columns[2];TextstoreNa

java - Mapreduce Hbase 文件未找到异常

我正在尝试使用mapreduce将数据填充到Hbase,但它一次又一次地抛出以下异常:-15/04/2921:35:37WARNmapreduce.JobSubmitter:Hadoopcommand-lineoptionparsingnotperformed.ImplementtheToolinterfaceandexecuteyourapplicationwithToolRunnertoremedythis.15/04/2921:35:38INFOmapreduce.JobSubmitter:Cleaningupthestagingareafile:/home/hduser/had

java - MapReduce - reducer 在一行中发出输出

我有一个简单的MapReduce作业,它应该从文本文件中读取字典,然后它们逐行处理另一个巨大的文件并计算逆向文档矩阵。输出应该是这样的:word-id1docX:tfXdocY:tfYword-id2docX:tfXdocY:tfYetc...但是,reducer的输出仅在一个huuuge行中发出。我不明白为什么它应该为每个word-id(这是reducer的关键)发出一个新行。映射器生成正确的输出(一对word-id和doc-id:tf的值在不同的行上)。我在没有reducer的情况下进行了测试。reducer应该只是将对应于同一键的值附加到一行中的每个键。能否请您看一下我的代码(特