码迷,mamicode.com
首页 > 其他好文 > 详细

[Nutch]编译hadoop出现object[]无法转换为K[]问题解决

时间:2016-06-21 07:55:38      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

1. 问题描述

在使用JDK8编译hadoop 1.2.1的时候会出现object[]无法转换为K[]的问题,如下:
技术分享

2. 问题解决

(1)打开hadoop目录下的InputSampler.java文件,路径如下:
hadoop-1.2.1\src\mapred\org\apache\hadoop\mapreduce\lib\partition\InputSampler.java

(2)大概319行找到如下内容:

    final InputFormat inf = 
        ReflectionUtils.newInstance(job.getInputFormatClass(), conf);
    int numPartitions = job.getNumReduceTasks();
    K[] samples = sampler.getSample(inf, job);
    LOG.info("Using " + samples.length + " samples");
    RawComparator<K> comparator =
      (RawComparator<K>) job.getSortComparator();

将其修改为:

    final InputFormat inf = 
        ReflectionUtils.newInstance(job.getInputFormatClass(), conf);
    int numPartitions = job.getNumReduceTasks();
    K[] samples = (K[])sampler.getSample(inf, job);
    LOG.info("Using " + samples.length + " samples");
    RawComparator<K> comparator =
      (RawComparator<K>) job.getSortComparator();

如下图:
技术分享

3. 重新编译

技术分享

[Nutch]编译hadoop出现object[]无法转换为K[]问题解决

标签:

原文地址:http://blog.csdn.net/kandy_ye/article/details/51693079

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!