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

Posted kandy_ye

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Nutch]编译hadoop出现object[]无法转换为K[]问题解决相关的知识,希望对你有一定的参考价值。

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[]问题解决的主要内容,如果未能解决你的问题,请参考以下文章

nutch+hadoop 配置使用

[Nutch]Hadoop单机伪分布模式的配置

Lucene,Nutch,Hadoop 之间有什么关系?

Lucene,Nutch,Hadoop 之间有什么关系?

无法在 Hadoop2 上运行 Nutch2(Nutch 2.x + Hadoop 2.4.0 + HBase 0.94.18 + Gora 0.5 + Avro 1.7.6)

[Nutch]Hadoop单机伪分布模式的配置