Sto imparando Mahout e sto leggendo "Mahout in azione".Ottenere un IOException quando si esegue un codice di esempio in "Mahout in azione" su mahout-0.6
Quando ho provato a eseguire il codice di esempio in chapter7 SimpleKMeansClustering.java, un'eccezione spuntato:
Exception in thread "main" java.io.IOException: errata value class: 0.0: null non è org classe .apache.mahout.clustering.WeightedPropertyVectorWritable a org.apache.hadoop.io.SequenceFile $ Reader.next (SequenceFile.java:1874) a SimpleKMeansClustering.main (SimpleKMeansClustering.java:95)
ho successed questo codice su mahout -0,5, ma su mahout-0,6 ho visto questa eccezione. Anche se ho cambiato il nome della directory da Cluster-0 a Clusters-0-Final, sto ancora affrontando questa eccezione.
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();
Qualcuno ha qualche idea su questa eccezione? Ho cercato di risolverlo da molto tempo e non ne ho idea. E ci sono poche fonti su internet.
Grazie in anticipo
E di solito significa che il vostro ingresso è vuota o malformati. Nota anche che il libro va con Mahout 0.5, anche se, in generale, non mi aspetterei problemi usando gli esempi con 0.6. Non posso dire per certo però. –
Grazie, Sean Owen. Allora andrò con Mahout 0.5. :) – Nebulach