0

一部のマシンでは、KMeans の実行時に次のエラーが発生します。

java.io.FileNotFoundException: File file:/home/daniel/Aimee/agent/big-data/mahout-clusters/target/output/clusters-0-final/_policy does not exist.
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:371) ~[hadoop-core-0.20.204.0.jar:na]
at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:245) ~[hadoop-core-0.20.204.0.jar:na]
at org.apache.hadoop.fs.FileSystem.getLength(FileSystem.java:720) ~[hadoop-core-0.20.204.0.jar:na]
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1417) ~[hadoop-core-0.20.204.0.jar:na]
at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1412) ~[hadoop-core-0.20.204.0.jar:na]
at org.apache.mahout.clustering.classify.ClusterClassifier.readPolicy(ClusterClassifier.java:223) ~[mahout-core-0.7.jar:0.7]
at org.apache.mahout.clustering.classify.ClusterClassificationMapper.setup(ClusterClassificationMapper.java:75) ~[mahout-core-0.7.jar:0.7]
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:142) ~[hadoop-core-0.20.204.0.jar:na]
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764) ~[hadoop-core-0.20.204.0.jar:na]
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:370) ~[hadoop-core-0.20.204.0.jar:na]
at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:212) ~[hadoop-core-0.20.204.0.jar:na]

何らかの理由で特定のファイルが生成されていないようです。これをグーグルで検索しようとしましたが、この種の問題に関してウェブ上に文書化されたものは何もありません。hadoop-core 0.20.204.0 を使用する mahout-core 0.7 を使用します。手がかりをありがとう、この問題は私の時間を奪っています... :-(

4

1 に答える 1

0

OK、これを解決するのに時間がかかったので、この答えは、これにぶつかる可能性のある人に任せます。その理由は、canopy を使用して KMeans の最初の中心を計算し、canopy が runClustering=true で構成されていなかったため、_policy ファイルを生成しなかったためです。ただし、この動作には一貫性がありません。一部のマシンでは、runClustering の値に関係なくファイルが生成されます。

于 2013-02-26T05:20:00.097 に答える