计数器Map输入记录和Map输出记录分别代表什么?

时间:2019-05-14 20:21:08

标签: hadoop mapreduce

计数器Map输入记录和Map输出记录分别代表什么? Map输出记录和Reduce输入记录之间有什么联系? 计数器“减少”输入组代表什么? 在执行开始时的痕迹中, 查找在HDFS上读取的拆分数。 这个数字对应哪个计数器? 哪些计数器使我们能够验证Combiner是否正常工作? 哪些计数器使我们能够估算合并器的增益?        与不使用合并器获得的值进行比较以证明您的理由 《悲惨世界》中最常用的单词是什么?  结果有什么区别 现在获得和使用一个Reducer执行的结果?为什么呢 结果有什么区别 现在获得的和先前执行的获得的? 要使用组合器,中间数据的类型应该是什么? 给出语义类型(键值代表什么?)和Java类型。 法国最受欢迎的标签是什么? 在Reducer中,我们在内存中有一个结构 大小取决于不同标签的数量: 大小不是先验的,可能有很多标签。 这有问题吗?

import java.io.IOException;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;

public class Question0_0 {
    public static class MyMapper extends Mapper<LongWritable, Text, Text, IntWritable> {
        @Override
        protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {

        }
    }

    public static class MyReducer extends Reducer<Text, IntWritable, Text, IntWritable> {
        @Override
        protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {

        }
    }

    public static void main(String[] args) throws Exception {
        Configuration conf = new Configuration();
        String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
        String input = otherArgs[0];
        String output = otherArgs[1];

        Job job = Job.getInstance(conf, "Question0_0");
        job.setJarByClass(Question0_0.class);

        job.setMapperClass(MyMapper.class);
        job.setMapOutputKeyClass(Text.class);
        job.setMapOutputValueClass(IntWritable.class);

        job.setReducerClass(MyReducer.class);
        job.setOutputKeyClass(Text.class);
        job.setOutputValueClass(IntWritable.class);

        FileInputFormat.addInputPath(job, new Path(input));
        job.setInputFormatClass(TextInputFormat.class);

        FileOutputFormat.setOutputPath(job, new Path(output));
        job.setOutputFormatClass(TextOutputFormat.class);

        System.exit(job.waitForCompletion(true) ? 0 : 1);
    }
}

0 个答案:

没有答案