你好,我正在尝试实现java hadoop应用程序。我想制作映射器
我在主类中有这样的配置:
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
Job job = Job.getInstance(conf, "NY statistics");
job.setJarByClass(NYStatisticsOwnWritableComparable.class);
job.setMapperClass(TokenizerMapper.class);
job.setCombinerClass(Combiner.class);
job.setReducerClass(IntSumReducer.class);
job.setOutputKeyClass(NaicsAreaPair.class);
job.setOutputValueClass(LongWritable.class);
//job.setPartitionerClass(Rozdelovac.class);
FileInputFormat.addInputPath(job, new Path(args[0]));
FileOutputFormat.setOutputPath(job, new Path(args[1]));
//job.setNumReduceTasks(3);
System.exit(job.waitForCompletion(true) ? 0 : 1);
}
在这里,我必须说将使用哪个输出键和输出值。有没有可能将其设置为 ok 对于映射器使用此输出键和值,但对于组合器使用不同的?
非常感谢您的回答
为什么要使用组合器?组合器的目的是通过减少通过网络发送的数据来实现“性能”。有几个限制,比如输入/输出类型必须与映射器输出(键/值)类型/减缩器输入(键/数值)类型匹配,它执行的函数应该是关联的和可交换的。请参阅此处的示例http://www.philippeadjiman.com/blog/2010/01/14/hadoop-tutorial-series-issue-4-to-use-or-not-to-use-a-combiner/
你想要什么作为你的组合器,让它成为减速器
它不是。组合器输出必须与映射器输出相同。
我仍在试图获得何时使用Hadoop combiner类的直觉(我看到了一些文章,但它们对我的情况没有特别的帮助)。 我的问题是,当组合器类的值为 Text 类时,使用组合器类是否合适?例如,假设我们有来自映射器的以下输出: 我们可以在这里应用一个组合器类吗? 在它到达减速器之前?
我在一个伪分布式hadoop设置上运行mapreduce作业。在哪里可以找到映射器、分割器和合并器的输出文件?有办法检查每个操作的输出吗?
问题内容: hadoop的新手,并试图从此处了解mapreduce wordcount示例代码。 文档中的映射器是- 我看到在mapreduce字数示例中,映射代码如下 问题- Object类型的此键的作用是什么?如果映射器的输入是文本文档,那么我假设其中的值将是hadoop已分区并存储在HDFS中的文本块(64MB或128MB)。 更一般而言,此输入键Keyin在地图代码中的用途是什么? 任何指
我在1.1GB文件上运行Hadoop MapReduce多次,使用不同数量的映射器和化简器(例如,1个映射器和1个化简器,1个映射器和2个化简器,1个映射器和4个化简器,...) Hadoop安装在具有超线程的四核机器上。 以下是按最短执行时间排序的前 5 个结果: 1 - 8 个化简器和 1 - 8 个映射器的结果:列 = 映射器行数 = 化简器数 (1)当我有8个映射器时,程序运行速度似乎稍快
我得到这个错误: 14/12/10 18:11:01 INFO Mapred.JobClient:任务Id:Attest_201412100143_0008_M_000000_0,状态:失败java.io.ioException:溢出在org.apache.hadoop.mapred.maptask$MapOutputBuffer.Collect(maptask.java:425)在wordcou
我正在使用MapReduce为web搜索建立一个倒排索引。我知道如何使用一个键类型的MapReduce,您在这里设置它: 但是,如果我的密钥可以是不同类型的,那是不是支持呢?例如,一个键可能只是文本,另一个键可能是PairofWritables。我想为从映射器到reducer的输出,以及从reducer到最终输出的输出设置不同的键类型。我已经看到了一个名为MultipleOutput的类,它允许指