1

簡単な wordcount プログラムを実行していますが、次のエラーが表示されます。

Type mismatch in key from map: expected org.apache.hadoop.io.Text, received org.apache.hadoop.io.LongWritable

これはどういう意味ですか、どうすれば修正できますか??

4

3 に答える 3

4

メイン関数では、次の行のいずれかを使用できます。

 conf.setMapOutputKeyClass(Text.class);
 conf.setMapOutputValueClass(IntWritable.class);

JobConf conf を使用していると仮定します。

また

    job.setMapOutputKeyClass(Text.class);
    job.setMapOutputValueClass(IntWritable.class);

Job job = new Job(); を使用していると仮定します。

于 2012-06-13T21:17:49.637 に答える
0

キーとしてを持つシーケンス ファイルの入力を与えていますがLongWritable、予想されるシーケンス ファイルはキーを として持つ必要がありますText

于 2012-06-13T21:18:06.057 に答える
0

これは、入力フォーマット クラスとして TextInputFormat を使用している場合に発生する可能性があります。これは、LongWritable 型のキーと Text 型の値を生成します。しかし、アプリケーションは、Text 型のキーを想定している可能性があります。 「job.setMapOutputKeyClass(Text.class)」を使用するとうまくいきます。

于 2012-06-13T21:53:12.607 に答える