3

リンクhttp://www.norstad.org/matrix-multiply/index.htmlの下で Norstadt 氏によって提示された行列乗算の例を実行しようとしていました。Hadoop 0.20.2 で正常に実行できますが、hadoop 1.0.3 で実行しようとしましたが、次のエラーが発生します。私の Hadoop 設定の問題ですか、それとも作者が Hadoop 0.20 で記述したコードの互換性の問題ですか。また、どちらの場合もこのエラーを修正するにはどうすればよいか教えてください。これが私が得ているエラーです。

in thread "main" java.io.EOFException
        at java.io.DataInputStream.readFully(DataInputStream.java:180)
        at java.io.DataInputStream.readFully(DataInputStream.java:152)
        at org.apache.hadoop.io.SequenceFile$Reader.init(SequenceFile.java:1508)
        at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1486)
        at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1475)
        at org.apache.hadoop.io.SequenceFile$Reader.<init>(SequenceFile.java:1470)
        at TestMatrixMultiply.fillMatrix(TestMatrixMultiply.java:60)
        at TestMatrixMultiply.readMatrix(TestMatrixMultiply.java:87)
        at TestMatrixMultiply.checkAnswer(TestMatrixMultiply.java:112)
        at TestMatrixMultiply.runOneTest(TestMatrixMultiply.java:150)
        at TestMatrixMultiply.testRandom(TestMatrixMultiply.java:278)
        at TestMatrixMultiply.main(TestMatrixMultiply.java:308)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

前もって感謝します

よろしく、ワカス

4

2 に答える 2

2

私はそれを正しく理解しました。実際には、_SUCCESS ファイルを自動的にフィルタリングしていませんでした。このログ ファイルの読み取りが原因で、質問に記載されている例外が発生していました。ファイルをフィルタリングしたところ、正常に動作するようになりました。FileSystem.liststatus のファイル フィルタ ログ ファイル (_success および _log) をフィルタする方法のリンクを次に示します。

于 2012-05-30T15:27:33.737 に答える