1

ImportTsv の出力を HBase のテーブルに転送するために HBase 完全一括読み込みを使用していましたが、カットではなく出力をコピーしていることに気付きました。ギガバイトのデータには長い時間がかかります。

HBase のドキュメント ( http://hbase.apache.org/book/ops_mgt.html#completebulkload ) で、ファイルがコピーされずに移動されることを読みました。誰でもこれで私を助けることができますか?

Hbase 0.94.11 と Hadoop 1.2.1 を使用しています。bulkload 出力ディレクトリと hbase クラスタのファイル システムも同じです。

また、HFileOutputFormat を使用して MapReduce ジョブをコーディングしました。LoadIncrementalHFiles を使用してジョブの出力を HBase テーブルに移動すると、カットではなくコピーされます。

敬具

4

1 に答える 1

2

次の行がリージョン サーバー ログにあることに気付きました。これにより、切り取りではなくコピーが発生します。

リージョン サーバー ログ

ファイル hdfs://master.mydomain/user/cluster/mbe/output/fam/8a6f322894784c9c9802e5b295025ee0 は、宛先ストアとは異なるファイル システムにあります - このファイル システムに移動します。Copied to temporary path on dst filesystem: hdfs://master.mydomain:8020/hbase/MBE/fd9eab14bf12d1b44ea77aa3d1fc1b31/.tmp/d63966b6d5fa487f88426552d1ca43f4 Moved hfile hdfs://master.mydomain:8020/hbase/MBE/fd9eab14bf12d1b44ea77aa3d1fc1b31/.tmp/d63966b6d5fa487f88426552d1ca43f4ストア ディレクトリに hdfs://master.mydomain:8020/hbase/MBE/fd9eab14bf12d1b44ea77aa3d1fc1b31/fam - ストア ファイル リストを更新します。

解決

これは、ソース ストア ファイルと宛先ストア ファイルが異なるファイル システム上にあることを示していますが、両方とも同じ HDFS 上にあります。

「hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles」の代わりに「hbase org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles hdfs://master.mydomain:8020/user/cluster/mbe/output MBE」を使用するとmbe/output MBE」の問題は解決されました。

この問題は、相対アドレス指定ではなく、ポート番号を使用した絶対アドレス指定を使用して解決されました。

詳細については、https://issues.apache.org/jira/browse/HBASE-9537を参照してください。

于 2013-09-16T06:56:41.317 に答える