Получение исключения IOException при запуске примера кода в «Mahout в действии» на mahout-0.6

Я изучаю Mahout и читаю «Mahout в действии».

Когда я попытался запустить образец кода в главе 7 SimpleKMeansClustering.java, выскочило исключение:

Исключение в потоке "main" java.io.IOException: неправильное значение class: 0.0: null не является классом org.apache .mahout.clustering.WeightedPropertyVectorWritable в org.apache.hadoop.io.SequenceFile $ Reader.next (SequenceFile.java:1874) в SimpleKMeansClustering.main (SimpleKMeansClustering.java:95)

Я успешно выполнил этот код на mahout-0.5 но на mahout-0.6 я видел это исключение. Даже если я изменил имя каталога с кластеров-0 на кластеры-0-финал, я все еще сталкиваюсь с этим исключением.

    KMeansDriver.run(conf, vectors, new Path(canopyCentroids, "clusters-0-final"), clusterOutput, new TanimotoDistanceMeasure(), 0.01, 20, true, false);//First, I changed this path.

    SequenceFile.Reader reader = new SequenceFile.Reader(fs,  new Path("output/clusters/clusteredPoints/part-m-00000"), conf);//I double checked this folder and filename.

    IntWritable key = new IntWritable();
    WeightedVectorWritable value = new WeightedVectorWritable();
    int i=0;
    while(reader.next(key, value)) {
        System.out.println(value.toString() + " belongs to cluster " + key.toString());
        i++;
    }
    System.out.println(i);
    reader.close();

Кто-нибудь знает об этом исключении? Я давно пытаюсь ее решить и понятия не имею. А источников в интернете немного.

Заранее благодарим

7
задан Nebulach 5 March 2012 в 11:40
поделиться