草庐IT

weekday_mapper

全部标签

Java Hadoop : How can I create mappers that take as input files and give an output which is the number of lines in each file?

我是Hadoop的新手,我已经设法运行了wordCount示例:http://hadoop.apache.org/common/docs/r0.18.2/mapred_tutorial.html假设我们有一个包含3个文件的文件夹。我希望每个文件都有一个映射器,这个映射器将只计算行数并将其返回给缩减器。然后,reducer会将每个映射器的行数作为输入,并将所有3个文件中存在的总行数作为输出。所以如果我们有以下3个文件input1.txtinput2.txtinput3.txt映射器返回:mapper1->[input1.txt,3]mapper2->[input2.txt,4]mappe

java - 如何访问 Reducer 中的 Mapper Counter 值?

我想访问reducer中的myCounter.my值:publicstaticclassMapextendsMapper{publicstaticenummyCounter{my};@Overridepublicvoidmap(LongWritablekey,Textvalue,Contextcontext){context.getCounter(myCounter.my).increment(1);context.write(newImmutableBytesWritable(),newImmutableBytesWritable());}}publicstaticclassRedu

hadoop - 如何直接将 mapper-reducer 的输出发送到另一个 mapper-reducer 而无需将输出保存到 hdfs

问题最终得到解决在底部查看我的解决方案最近我正在尝试运行MahoutinAction的第6章(list6.1~6.4)中的推荐系统示例。但是我遇到了一个问题,我已经用谷歌搜索了但找不到解决方案。问题来了:我有一对mapper-reducerpublicfinalclassWikipediaToItemPrefsMapperextendsMapper{privatestaticfinalPatternNUMBERS=Pattern.compile("(\\d+)");@Overrideprotectedvoidmap(LongWritablekey,Textvalue,Contextco

java - 为什么将 Mapper 和 Reducer 类声明为静态的?

这可能表明我缺乏对Java的理解,但我想知道为什么在大多数MapReduce程序中映射器和缩减器类被声明为静态的? 最佳答案 当将mapper和reducer类声明为另一个类的内部类时,必须将它们声明为静态的,以便它们不依赖于父类。Hadoop使用反射为每个运行的map或reduce任务创建类的实例。创建的新实例需要一个零参数构造函数(否则它怎么知道要传递什么)。通过在不使用static关键字的情况下声明内部映射器或reduce类,java编译实际上创建了一个构造函数,该构造函数期望在构造时传入父类的实例。您应该能够通过对生成的类文

hadoop - 运行本地文件系统目录作为集群中 Mapper 的输入

我从本地文件系统向映射器提供了一个输入。它从Eclipse成功运行,但没有从集群运行,因为它无法找到本地输入路径说:输入路径不存在。请任何人帮忙我如何为映射器提供本地文件路径,以便它可以在集群中运行,并且我可以在hdfs中获取输出 最佳答案 这是一个很老的问题。最近遇到了同样的问题。不过,我不知道这个解决方案如何正确对我有用。如果这有任何缺点,请注意。这就是我所做的。Readingasolutionfromthemail-archives,我意识到如果我将fs.default.name从hdfs://localhost:8020/修

java - Hadoop mapreduce : Driver for chaining mappers within a MapReduce job

我有mapreduce工作:我的代码map类:publicstaticclassMapClassextendsMapper{@Overridepublicvoidmap(Textkey,Textvalue,Contextcontext)throwsIOException,InterruptedException{}}我想使用ChainMapper:1.Jobjob=newJob(conf,"Jobwithchainedtasks");2.job.setJarByClass(MapReduce.class);3.job.setInputFormatClass(TextInputForma

java - Hadoop - 直接从 Mapper 写入 HBase

我有一个haddop作业,它的输出应该写入HBase。我真的不需要reducer,我想插入的行类型在Mapper中确定。如何使用TableOutputFormat来实现这一点?从我看到的所有示例中,假设是reducer是创建Put的那个,而TableMapper只是用于从HBase表中读取。在我的例子中,输入是HDFS,输出是Puttospecifictable,我在TableMapReduceUtil中也找不到任何可以帮助我的东西。是否有任何示例可以帮助我解决这个问题?顺便说一句,我正在使用新的HadoopAPI 最佳答案 这是从

function - Hadoop 中 org.apache.hadoop.mapreduce.Mapper.run() 函数的用途是什么?

Hadoop中org.apache.hadoop.mapreduce.Mapper.run()函数的用途是什么?setup()在调用map()之前调用,而clean()在map()。run()的文档说ExpertuserscanoverridethismethodformorecompletecontrolovertheexecutionoftheMapper.我正在寻找这个功能的实际用途。 最佳答案 默认的run()方法简单地获取上下文提供的每个键/值对并调用map()方法:publicvoidrun(Contextcontext

Hadoop MapReduce : Possible to define two mappers and reducers in one hadoop job class?

我有两个单独的java类来执行两个不同的mapreduce作业。我可以独立运行它们。对于这两个作业,它们所操作的输入文件是相同的。所以我的问题是是否可以在一个java类中定义两个映射器和两个缩减器,例如mapper1.classmapper2.classreducer1.classreducer2.class然后点赞job.setMapperClass(mapper1.class);job.setmapperClass(mapper2.class);job.setCombinerClass(reducer1);job.setCombinerClass(reducer2);job.set

java - MapReduceBase 和 Mapper 已弃用

publicstaticclassMapextendsMapReduceBaseimplementsMapperMapReduceBase、Mapper和JobConf在Hadoop0.20.203中已弃用。我们现在应该用什么?编辑1-对于Mapper和MapReduceBase,我发现我们只需要扩展MapperpublicstaticclassMapextendsMapper{privatefinalstaticIntWritableone=newIntWritable(1);privateTextword=newText();publicvoidmap(LongWritableke