2

ねえ、次のエラーをクリアするのを手伝ってくれませんか? これは、hdfs ファイルから hbase テーブルにデータを挿入するための Mapreduce ジョブを実行しているときに発生します。を使用してHFileOutputFormat.class、以前は同じように実行しましたMultiTableOutputFormat.classが、正常に動作していましたが、データを hbase テーブルに挿入するのに非常に時間がかかっていました。

だからあなたは私を助けてくれませんか... :) *

job.setMapOutputKeyClass(ImmutableBytesWritable.class); job.setMapOutputValueClass(Put.class); job.setInputFormatClass(TextInputFormat.class);
job.setOutputFormatClass(HFileOutputFormat.class); job.setMapperClass(Map.class); HTable hTable = new HTable(conf,"ARK_3000"); HFileOutputFormat.configureIncrementalLoad(ジョブ、hTable);

エラー security.UserGroupInformation: PriviledgedActionException as:reddym (auth:SIMPLE) cause: org.apache.hadoop.mapred.InvalidJobConfException: 出力ディレクトリが設定されていません。スレッド「メイン」org.apache.hadoop.mapred.InvalidJobConfException での例外: 出力ディレクトリが設定されていません。

ありがとうマドゥスダナ・レディ

4

1 に答える 1

3

出力ディレクトリが書き込み保護されていないことを確認し、再試行してください ドライブのルートのようなディレクトリを使用しないでください。これが役立つことを願っています

編集:出力ディレクトリを要求する場所にこれを追加してみてください

HFileOutputFormat.setOutputPath(conf, new Path(<YOUR_LOCATION>));

またFileOutputFormat.setOutputPath(conf, new Path(<YOUR_LOCATION>));

また、データの書き込み先を認識できるように、出力ディレクトリを指定する必要があります。

これが問題の解決に役立つことを願っています。さらにサポートが必要な場合はお知らせください。私はいつでも喜んでお手伝いします。

EDIT 2:書き込み先のテーブルはメモリに保存され、プログラムを終了するとメモリ内のすべてのデータが失われるため、出力ディレクトリに言及する必要があります。たとえば、プログラムがクラッシュすると、ディスクに書き込まれない限り、すべてのデータが失われます。したがって、出力ディレクトリに保存されたデータは、何か問題が発生した場合のバックアップです。

これがあなたの質問に明確に答えてくれることを願っています。さらに支援が必要な場合は、別のコメントを残してください よろしくトム

于 2013-03-08T09:35:37.940 に答える