草庐IT

mapreduce_shuffle

全部标签

java - Hadoop:Mapreduce - 数据总和 (Java)

在使用我的mapreduce作业后,这是输出:User16565Logins:1Orders:1User16566Logins:2Orders:2User16567Logins:1Orders:1一切看起来都很好,但是当日志文件有数千个条目时,它就不是很有用了。有没有办法更改我的代码以汇总“登录”和“订单”以便计算差异?编辑:新问题/问题日志示例:2013-01-01T08:48:09.009+0100,feature:login,-,User73511,-,-,-,-2013-01-01T03:58:05.005+0100,feature:order-created,-,User73

database - 使用 mapreduce 作业连接到 MySql 数据库时出错

我正在尝试使用以下代码使用map-reduce作业连接到mysql数据库。我面临下面发布的以下错误。我在我的代码中放置了检查点这表明作业实际运行之前的作业部分正确运行,之后作业失败......importjava.io.DataInput;importjava.io.DataOutput;importjava.io.IOException;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.util.Iterator;importjava.uti

Hadoop MapReduce DBInputFormat 和 DBOutputFormat

我需要从MYSQL导入数据,运行MR并将其导出回MYSQL。我能够使用DBInputFormat和DBOutputFormat在单个MR作业中成功完成一些记录。当我将输入记录扩展到100+百万条记录时,MR作业挂起。替代方法是将数据导出到HDFS,运行MR作业并推送回MySQL。对于包含大约4亿条记录的庞大数据集,使用DBInputFormat和DBOutputFormat还是使用HDFS作为数据源和目标,哪个选项更好。使用HDFS在我的MR作业前后增加了一个步骤。由于数据存储在HDFS上,因此它会被复制(默认3)并且需要更多的硬盘空间。谢谢鲁佩什 最佳答案

java - MapReduce 程序不在 main 和 mapper 之间共享字符串变量

我正在编写一个mapreduce程序,其中必须在Mapper类中共享在Main方法中创建的字符串。这是使用新的mapreduceapi。我正确编码并在main方法中使用配置设置变量,如下所示。Configurationconf=newConfiguration();Jobjob=newJob(conf);SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMddHHmmsss");Stringdate=sdf.format(newDate());StringImagesDir="/user/srini/images/"+date;conf.set

hadoop - Hadoop/MapReduce中的日志文件分析

您好,我有一些以下形式的查询日志文件:q_stringq_visitsq_date0redballons17902012-10-0200:00:001bluesocks3642012-10-0200:00:002current2802012-10-0200:00:003molecular2592012-10-0200:00:004redtable2012012-10-0200:00:00在一年中的每个月,我每天都有一个文件。我想做的是:(1)按月对文件进行分组(或者更具体地说,对属于每个月的所有q_strings进行分组)(2)由于相同的q_string可能会出现在多天,我想在一个月内

java - Hadoop MapReduce : size of data processed in shuffle and reduce phase

我在包含多个AWS实例的集群上运行HadoopMapReduceJava应用程序。我想知道是否有可能在混洗阶段知道数据集的大小,即总共有多少数据被混洗。另外,是否可以知道每个reducer任务处理了多少数据? 最佳答案 您应该能够从JobTrackerWebUI中找到此信息。有一个名为“Reduceshufflebytes”的计数器详细说明了被打乱的总字节数-参见https://issues.apache.org/jira/browse/HADOOP-4845以及原始链接票证以获取更多信息。对于每个reducer计数,深入到已完成的

java - 在 Hadoop 中运行非 mapreduce 工作

我想知道是否可以在Hadoop中运行非mapreduce作业,例如打印“helloword”的java程序。如果是这样,你能给我举个例子吗?非常感谢。 最佳答案 在Hadoop1.x和之前的版本中这是不可能的。然而,这正是YARN的设计目的。MapReduce2.0建立在YARN之上。YARN是分布式资源管理的抽象。看看here编辑:实际上我撒谎了,在Hadoop1.x和之前的版本中,仍然可以通过一些hackery来完成非MapReduce作业。如果你看路ApacheGiraph实现后,他们挂接到MapReduce框架中进行任务分发

hadoop - 我的 MapReduce 程序产生零输出

输出文件夹中有没有内容的part-00000文件!这是我没有发现异常的命令跟踪,[cloudera@localhost~]$hadoopjartestmr.jarTestMR/tmp/example.csv/user/cloudera/output14/02/0611:45:24WARNconf.Configuration:session.idisdeprecated.Instead,usedfs.metrics.session-id14/02/0611:45:24INFOjvm.JvmMetrics:InitializingJVMMetricswithprocessName=JobT

hadoop - 在 MapReduce 中读取 .tar.gz 文件时出现奇怪的输出

请放轻松一点,因为我是hadoop和MapReduce的新手。我有一个.tar.gz文件,我正尝试通过使用CompressionCodecfactory编写自定义InputFormatter来使用mapReduce读取该文件。我在Internet上阅读了一些文档,CompressionCodecFactory可用于读取.tar.gz文件。因此我在我的代码中实现了它。运行代码后得到的输出绝对是垃圾。下面提供了我的输入文件的一部分:"MAY2013KOTZEBUE,AK""RALPHWIENMEMORIALAIRPORT(PAOT)""Lat:66°52'NLong:162°37'WEle

java - 仅 map Mapreduce 文本输出

我正在编写mapreduce作业。这是一个仅限map的工作。我的输出键包含两个元素,值包含一个元素。从表的角度来看,我希望输出为三列,每一行都是一条新记录。如果可能的话,它应该用一些特殊字符分隔。但是,我很难用Java实现它。我的映射器现在看起来像这样:publicclassextendsMapper>,NullWritable,Map,Text>{publicvoidmap(AvroKey>key,NullWritablevalue,Contextcontext)throwsIOException,InterruptedException{CharSequencecontent=ke