HBaseベースのシステムでは、本番環境で毎日数百万行を一括ロードします。我々は、HBase Bulk Loadがputsに比べて良い選択だと考えています。バルクロード機能は、MapReduceジョブを使用してHBaseの内部データフォーマットでテーブルデータを出力し、生成されたStoreFilesを実行中のクラスタに直接ロードします。バルクロードを使用すると、単にHBase APIを使用するよりも少ないCPUとネットワークリソースが使用されます。私たちはこれを評価し、うまく動作します。リファレンスガイドの次のセクションで制限について説明します。HBASEバルクロードレプリケーション
72.2. Bulk Load Limitations バルクロードは書き込みパスをバイパスするため、WALはプロセスの一部として書き込まれません。レプリケーションは、WALファイルを読み込んで、一括読み込みデータが表示されないようにします。また、Put.setDurability(SKIP_WAL)を使用する編集でも同様です。これを処理する1つの方法は、生ファイルまたはHFilesを他のクラスタに送り、そこで他の処理を行うことです。
高可用性を使用したいので、これは大きな問題です。また、修正後に複製が機能することを示唆する別のJIRA HBASE-13153も見つかりました。
質問:
- は、生産の使用を目的とバルクロードですか?
- HBaseのマニュアルが最新ではありませんが、現在制限が解決されていますか?
- バルク負荷の使用には他の制限はありますか?はいの場合は、どのような方法が適していますか?