草庐IT

mapreduce_shuffle

全部标签

java - Hbase mapreduce 作业 : all column values are null

我正在尝试在HBase数据库的表上用Java创建一个map-reduce作业。使用here中的示例和互联网上的其他东西,我设法成功地编写了一个简单的行计数器。但是,尝试编写一个实际对列中的数据执行某些操作的程序是不成功的,因为接收到的字节始终为空。我的Driver工作的一部分是这样的:/*Setmain,mapandreduceclasses*/job.setJarByClass(Driver.class);job.setMapperClass(Map.class);job.setReducerClass(Reduce.class);Scanscan=newScan();scan.se

hadoop - 为 Hadoop MapReduce 中的单个 map 提供多个非文本文件

我目前正在编写分布式应用程序,它在HadoopMapReduce的帮助下解析Pdf文件。MapReduce作业的输入是数千个Pdf文件(大部分在100KB到~2MB之间),输出是一组已解析的文本文件。出于测试目的,最初我使用了TomWhite的Hadoop中提供的WholeFileInputFormat。权威指南书,它提供单个文件到单个map。这适用于少量输入文件,但是,由于显而易见的原因,它无法正确处理数千个文件。需要大约一秒钟才能完成的任务的单个map效率低下。所以,我想做的是将多个Pdf文件提交到一个Map中(例如,将多个文件组合成单个block,HDFSblock大小约为64M

java - 运行 Hadoop MapReduce 作业时获取文件名/文件数据作为 Map 的键/值输入

我完成了问题HowtogetFilename/FileContentsaskey/valueinputforMAPwhenrunningaHadoopMapReduceJob?这里。虽然它解释了这个概念,但我无法成功地将它转换为代码。基本上,我希望文件名作为键,文件数据作为值。为此,我按照上述问题中的建议编写了自定义RecordReader。但是我无法理解如何将文件名作为此类中的键。此外,在编写自定义FileInputFormat类时,我无法理解如何返回我之前编写的自定义RecordReader。RecordReader代码是:importjava.io.IOException;imp

hadoop - 使用 Hadoop MapReduce 按月份和 IP 对日志条目进行分组

我是ApacheHadoop的新手。但我想学习如何使用它来汇总我的机器日志。实际上它不够大(GB),我可以解析它并等待几个小时。但我认为学习Hadoop可能会有用。所以,我有一个格式如下的日志条目。Location,Date,IPAddress例如NewYork,2011-11-3110:50:59,1.1.1.1NewYork,2011-11-3110:51:01,1.1.1.2Chicago,2011-11-3110:52:02,1.1.1.1LosAngeles,2011-11-3110:53:04,1.1.1.4我想按位置聚合它,按月分组,然后按IP地址。下面是我心目中的样子。

Hadoop MapReduce : MapTasks vs. 映射器

最近我阅读了很多文档并提出了有关Hadoop的问题,但只有一件事我不明白。在以下两种情况下,究竟会发生什么?通用配置文件大小=1GBHadoop1.2.1安装在具有超线程的四核上Hadoop以伪分布式模式运行场景一SplitSize=1GB=>只有一个maptaskmapred.tasktracker.map.task.maximum=4我的理解是,虽然这个节点最多可以同时运行4个映射器,但我只有一个MapTask,所以它只使用了1个映射器。(1个过程)场景2这是我最困惑的..-SplitSize=250MB=>有四个maptask-mapred.tasktracker.map.tas

hadoop - 按 hadoop mapreduce 作业的作业名称或 ID 查找作业状态

我是hadoop的新手,有疑问。我正在使用HadoopJobAPIv2提交(或创建)mapreduce作业(即命名空间mapreduce而不是旧的mapred)我根据自己的工作提交MR工作。我们在此表中维护Hadoop作业名称。我想跟踪提交的作业的进度(以及完成情况),以便我们可以将自己的作业更新为已完成。所有JobStatusAPI都需要Job对象。而我们的“作业监控”模块没有任何作业对象。无论如何,您能否帮助我们获得给定工作名称的工作状态?我们确保作业名称是唯一的。 最佳答案 我谷歌了很多才找到下面的内容。这是要走的路吗?在给定

java - 在没有 Oozie 的情况下定期运行 MapReduce 作业?

我有一个mapreduce作业作为“jar”,应该每天运行。另外,我需要从远程Java应用程序运行这个jar。我如何安排它:即,我只想每天从我的远程Java应用程序运行作业。我读过有关Oozie的资料,但我认为它不适合放在这里。 最佳答案 看看Quartz.它使您能够运行独立的Java程序或在Web或应用程序容器(如JBoss或ApacheTomcat)中运行。特别是与Spring和Springbatch的集成很好。Quartz可以在java代码之外进行配置-在XML中,语法与crontab中的完全一样。所以,我发现它非常方便。ä可

java - MapReduce 中的动态表达式

我们可以在Mapreduce中执行动态表达式吗?假设我有一个包含2列的csv文件。用户正在给出一个表达式col1+col2=col3当用户再次想要col1-col2=col4时。我们能做到吗?该怎么做?我们应该在1个MapReduce程序中完成所有这些操作,还是我们是否需要为每个表达式创建MapReduce程序?(用户表达式的动态变化) 最佳答案 正如Mental法官在评论中所说,您应该看看Hive或Pig.使用Hive,您可以通过SQL查询启动MapReduce作业:SELECTcol1,col2,col1+col2AScol3,

hadoop - 命令行编译 mapreduce 作业

大家。我最近成功地在我的电脑上安装了HDP2.0forwindows。也通过了HDP2.0提供的smoke-test示例。我正在尝试通过命令行编译我自己的mapreduce程序。我使用了命令行:`javac-classpathc:\hdp\hadoop-2.2.0.2.0.6.0-0009\hadoop-2.2.0.2.0.6.0-0009-core.jarwordcountclassWordCount.java然而,它不起作用。我发现我的c:\hdp\hadoop-2.2.0.2.0.6.0-0009hadoop-2.2.0.2.0.6.0-0009-core.jar/文件夹。我想知

Hadoop、Mapreduce - 无法获取 LocatedBlock 的 block 长度

我在hdfs上有一个文件,路径为“test/test.txt”,大小为1.3Gls和du命令的输出是:hadoopfs-dutest/test.txt->1379081672test/test.txthadoopfs-lstest/test.txt->Found1items-rw-r--r--3testusersupergroup13790816722014-05-0620:27test/test.txt我想在此文件上运行mapreduce作业,但是当我在此文件上启动mapreduce作业时,作业失败并出现以下错误:hadoopjarmyjar.jartest.TestMapReduc