草庐IT

elastic-mapreduce-cli

全部标签

java - 将 Hadoop MapReduce 输出写入 2 个平面文件

所以我有一个MapReduce作业,它接收多篇新闻文章并输出以下键值对。......如您所见,我目前正在输出两种主要不同类型的数据行,而现在,它们在mapreduce输出的平面文件中混合在一起。无论如何我可以简单地将social_tags输出到file1和topic_codes到file2或者输出social_tags到指定的文件组(social1.txt,social2.txt..etc)和topic_codes到另一组(topic1.txt,topic2.txt。..等等)我问这个的原因是为了以后可以轻松地将所有这些存储到Hive表中。我最好为每种不同的数据类型(topic_cod

hadoop - cloudera hadoop mapreduce 作业 GC 开销限制超出错误

我正在clouderacdh4上运行一个canopy集群作业(使用mahout)。待聚类的内容大约有1m条记录(每条记录大小小于1k)。整个hadoop环境(包括所有节点)运行在一个4G内存的虚拟机中。默认情况下安装cdh4。运行作业时出现以下异常。根据异常情况,作业客户端似乎需要更大的jvm堆大小。但是clouderamanager中jvmheapsize的配置选项还是挺多的。我将“客户端Java堆大小(以字节为单位)”从256MiB更改为512MiB。然而,它并没有改善。关于设置这些堆大小选项的任何提示/技巧?13/07/0317:12:45INFOinput.FileInputF

xml - 为什么 YARN 上会有 mapreduce.jobtracker.address 配置?

YARN是Hadoop的二代,不再使用jobtracker守护进程,取而代之的是资源管理器。但是为什么在mapred-site.xmlhadoop2上有一个mapreduce.jobtracker.address属性? 最佳答案 你是对的。在YARN中,jobtracker不再存在。因此,作为客户端配置的一部分,您不必指定属性mapreduce.jobtracker.address。在YARN中,您应该在配置文件中将属性mapreduce.framework.name指定给yarn。您无需设置mapreduce.jotracker.

java - 是否可以限制 MapReduce 作业访问远程数据?

我们有特定的算法要与HDFS集成。该算法要求我们在本地访问数据(工作将专门在Mapper中完成)。但是,我们确实希望在分发文件(提供可靠性和strip化)方面利用HDFS。执行计算后,我们将使用Reducer简单地发回答案,而不是执行任何额外的工作。避免使用网络是一个明确的目标。是否有一个配置设置允许我们限制网络数据访问,以便当MapReduce作业启动时它只会访问它的本地DataNode?更新:添加一些上下文我们试图用字符串匹配来分析这个问题。假设我们的集群有N个节点,一个文件存储了NGB的文本。该文件存储在HDFS中,并均匀分布到节点(每个节点1个部分)。我们能否创建一个MapRe

java - 如何通过修改org.apache.hadoop.hbase.mapreduce.RowCounter处理hbase中的海量数据?

我的hbase表包含数百万行。如果我们进行扫描,至少需要一个小时才能显示所有记录。我们将日期存储为行键。我需要获取日期的最小值和最大值。我看到一个实用程序org.apache.hadoop.hbase.mapreduce.RowCounter在5分钟内计算了数百万行。有没有办法以同样的方式完成我的工作?仅供引用:我正在使用java。 最佳答案 如果您使用的是HBase0.98,您的问题应该很简单。您所要做的就是获取表中的第一行和最后一行(因为条目是有序的):通过执行限制为1的扫描获得的第一行。通过使用限制执行反向扫描获得的最后一行的

hadoop - 如何使用 mapreduce 程序获取输入文件中的最后一个字数

谁能说出在一个简单的字数统计程序中需要做哪些修改才能使用mapreduce从文件中获取最后一个字数。如果输入文件是haihelloworldhelloworldjavahadoopworldhaihellohaijavaExpectedo/p:world3因为'world'将是排序后的最后一个键。感谢任何帮助 最佳答案 一种可用的简单方法。不需要显式排序。假设您正在运行一个reducer。您可以重写reducer类中的cleanup()方法。reducer中使用cleanup()方法在reduce任务结束时执行内务处理事件。但是你可

hadoop - MAPREDUCE - 将数据批量加载到 HBASE 表中

为什么我们只使用一个驱动类和一个映射类,而不使用reducer类? 最佳答案 如果您想对批量加载的数据进行任何聚合,可以使用Reducer。在正常情况下,如果您只是加载而没有任何聚合。那么只有mapper作业就足够了。例如:案例一:如果您正在阅读CSV并使用相应的列加载hbase表中的所有单词,即没有像wordcount这样的聚合。那么只有mapper作业就足够了。案例2:如果您正在阅读csv并希望进行字数统计之类的聚合(这是聚合),然后将其加载到hbase中,那么您需要reducer。希望澄清..

hadoop - RAM 如何用于 mapreduce 处理?

需要澄清处理,像(namenode,datanode,jobttracker,tasktracker)这样的守护进程都位于一个集群中(单节点集群-它们分布在硬盘中)。RAM或缓存​​在mapreduce处理中的用途是什么,或者mapreduce中的各种进程如何访问它? 最佳答案 JobTracker和Tasktracker在mapreduce1.x中用于管理集群中的资源,它被删除的原因是因为它不是有效的方法。自mapreduce2.x以来,引入了一种称为YARN的新机制。您可以访问此链接http://javacrunch.in/Ya

amazon-web-services - 使用 Elastic MapReduce 进行文件处理 - 没有 Reducer 步骤?

我在S3目录中有大量文本文件。对于每个文本文件,我想应用一个函数(通过Bootstrap加载的可执行文件),然后将结果写入S3输出目录中另一个同名的文本文件。所以在我的MapReduce作业中没有明显的reducer步骤。我曾尝试使用NONE作为我的reducer,但输出目录中充满了part-00000、part-00001等文件。而且这些文件的数量比我输入目录中的文件还要多;每个部分文件只代表一个处理过的片段。如有任何建议,我们将不胜感激。 最佳答案 Hadoop提供了一个名为IdentityReducer的缩减器。Identit

java - 如何在 Hadoop MapReduce 中实现组合器?

我知道为了在HadoopMapReduce中包含一个组合器,包含了以下行(我已经完成了);conf.setCombinerClass(MyReducer.class);我不明白的是,我实际上在哪里实现组合器的功能。我是否在MyReducer下创建一个combine{}方法?比如reduce方法;publicvoidreduce(Textkey,Iteratorvalues,OutputCollectoroutput,Reporterreporter)throwsIOException{}非常感谢! 最佳答案 一个Combiner应该