草庐IT

MapReduce2

全部标签

java - 运行 MapReduce 程序时出现 ClassNotFound 异常

我正在编写一个用于矩阵加法的mapreduce程序。因为它需要2个输入文件,所以我使用了MultipleInputs。我有以下类(class)MatAddMapper1.javapackagemapred;importjava.io.IOException;importorg.apache.hadoop.io.IntWritable;importorg.apache.hadoop.io.LongWritable;importorg.apache.hadoop.io.Text;importorg.apache.hadoop.mapreduce.Mapper;publicclassMatA

hadoop - 为什么我们需要知道在 mapreduce 中处理的文件的名称?

我遇到了一个帖子,询问如何获取mapreduce正在处理的文件名。这让我想知道在什么情况下我们需要知道正在处理的文件的名称或路径。FileSplitfileSplit=(FileSplit)context.getInputSplit();StringfileName=fileSplit.getPath().getName();谢谢巴桑 最佳答案 有几种情况文件名很重要,例如:过程中需要文件名中的时间戳。根据文件名,您可以对文件进行不同的处理。就像如果您有两种非常相似的文件类型,需要类似的过程,但差异很小(如果不是,最好有两个不同的m

java - 在 MapReduce 程序中,reducer 没有被 Driver 调用

我根据mapreduce编程模型编写了这个程序,Driver代码如下我的司机类(class)publicclassMRDriverextendsConfiguredimplementsTool{@Overridepublicintrun(String[]strings)throwsException{if(strings.length!=2){System.err.println("usage:");System.exit(0);}Jobjob=newJob(getConf(),"multiplefiles");job.setJarByClass(MRDriver.class);job

Hadoop MapReduce 作业权限被拒绝

我正在尝试运行mapreduce作业以使用Hive获取表中的用户数。我在这样做时遇到了AccessControlException。命令提示符上的消息:hive>selectcount(*)frombxbookratings;QueryID=nikhilbarar_20160726214949_ddeb51ca-4833-48af-88ec-3a1129b5f741Totaljobs=1LaunchingJob1outof1Numberofreducetasksdeterminedatcompiletime:1Inordertochangetheaverageloadforareduc

hadoop - 关闭 Hadoop MapReduce 作业的数据局部性

我有一个YARN集群,集群中有几十个节点。我的程序是一个只有map的工作。它的Avro输入非常小,只有几百万行,但处理一行需要大量的CPU资源。我观察到许多maptask在单个节点上运行,而其他节点不参与。这会导致某些节点非常慢并影响整体HDFS性能。我假设这种行为是由于Hadoop数据局部性造成的。我很好奇是否可以将其关闭,或者是否有其他方法可以强制YARN在集群中更均匀地分配maptask?谢谢! 最佳答案 假设您不能轻松地在集群中更均匀地重新分配数据(肯定不是所有数据都在一个节点上吧?!)这似乎是放松局部性的简单方法:yarn

java - 面临合并洗牌和排序 Mapreduce 的问题

我是Hadoop的菜鸟,因此在一段代码上需要您的帮助。我的Mapper输出是:性别年龄Male38Female23Female26...100rowslikethis目标:我想计算男性的平均年龄和女性的平均年龄。这个想法看起来很简单,但我得到了错误的输出。请看看我的reducer代码。publicstaticclassAgeRedextendsReducer{publicvoidRed(Textkey,Iterablevalues,Contextcontext)throwsIOException,InterruptedException{intsum=0,count=0;for(Int

java - MapReduce 计算制表符分隔输入值的总和

我正在尝试使用MapReduce来查找由其标签分隔的制表符分隔输入的总和。数据看起来像这样15.04.06.022.01.03.013.04.08.0第一列是类标签,因此我希望得到按类标签分类的输出。对于这种情况,输出将是label1:30.0label2:6.0这是我试过的代码,但我得到了错误的输出和显示了意外的类标签。publicclassTotal{publicstaticclassMapextendsMapper{privatefinalstaticDoubleWritableone=newDoubleWritable();privateTextword=newText();p

hadoop - Mapreduce 将值链接到每个键的列表中

我有一个在mapreduce中做的小项目,因为我是新手,所以我遇到了很多困难,所以希望得到帮助。在这个项目中,我有一个包含站点和标签的文件(每个站点有10个标签),我想通过共享标签为每个站点找到类似的站点。因此,例如3个站点,这是我的数据集site1tag1site1tag2site1tag3site1tag4site1tag5site2tag1site2tag2site2tag3site2tag11site2tag12site3tag1site3tag11site3tag13site3tag14site3tag15(对于这个例子,我只为每个站点制作了5个)。我想做的是做一个mapre

hadoop - 如何使用 Cloudera Quickstart Docker 容器执行 MapReduce 作业/JAR

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我需要一些关于如何使用ClouderaDocker容器运行MapReduce程序/作业的帮助。我正在使用Linux(ElementaryOS)高配置。笔记本电脑(24GB内存,i7处理器)。我能够安装Clouderadocker镜像,运行它并毫无问题地执行以下操作:1.看到#提示符并运行HDFS命令(hadoopfs-ls),尽管它没有返回任何内容。2.可以访问Hue

hadoop - reducer 中的 MapReduce 值始终为 1

我正在使用Cloudera来实现mapreduce作业。我的输入是一个json,看起来像这样:{"reviewerID":"A2PUSR7ROG0Z6T","asin":"9742356831","reviewerName":"TerryBisgrove\"Mr.E.Man\"","helpful":[2,2],"reviewText":"IlikeotherstylesofMaePloycurrypaste,butthegreenjustdoesn'tworkforme.Overwhelminggarlic,noheat,andverybland.Iwouldnotpurchaset