小编M4s*_*cap的帖子

MapReduce输出ArrayWritable

我试图在一个简单的MapReduce-Task中从ArrayWritable获取输出.我发现了几个有类似问题的问题,但我无法在自己的代码中解决问题.所以我期待着你的帮助.谢谢 :)!

输入:带有一些句子的文本文件.

输出应该是:

<Word, <length, number of same words in Textfile>>
 Example: Hello  5  2 
Run Code Online (Sandbox Code Playgroud)

我在工作中得到的输出是:

hello WordLength_V01$IntArrayWritable@221cf05
test WordLength_V01$IntArrayWritable@799e525a
Run Code Online (Sandbox Code Playgroud)

我认为问题出在IntArrayWritable的子类中,但我没有得到正确的修正来解决这个问题.由我们有Hadoop 2.5.我使用以下代码来获得此结果:

主要方法:

public static void main(String[] args) throws Exception {
    Configuration conf = new Configuration();
    Job job = Job.getInstance(conf, "word length V1");

    // Set Classes
    job.setJarByClass(WordLength_V01.class);
    job.setMapperClass(MyMapper.class);
    // job.setCombinerClass(MyReducer.class);
    job.setReducerClass(MyReducer.class);

    // Set Output and Input Parameters
    job.setMapOutputKeyClass(Text.class);
    job.setMapOutputValueClass(IntWritable.class);

    job.setOutputKeyClass(Text.class);
    job.setOutputValueClass(IntArrayWritable.class);

    // Number of Reducers
    job.setNumReduceTasks(1);

    // Set FileDestination
    FileInputFormat.addInputPath(job, new Path(args[0]));
    FileOutputFormat.setOutputPath(job, new Path(args[1]));

    System.exit(job.waitForCompletion(true) ? …
Run Code Online (Sandbox Code Playgroud)

java apache hadoop mapreduce writable

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

apache ×1

hadoop ×1

java ×1

mapreduce ×1

writable ×1