2017-12-13 22 views
0

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も見つかりました。

質問:

  1. は、生産の使用を目的とバルクロードですか?
  2. HBaseのマニュアルが最新ではありませんが、現在制限が解決されていますか?
  3. バルク負荷の使用には他の制限はありますか?はいの場合は、どのような方法が適していますか?

答えて

0
  1. はい。多くのユーザーが本番環境でバルクロードを使用しています
  2. はい、HBAS-13153の後に、この制限はありません。しかし、問題のリリースノートを参照してください。デフォルトでは、この機能はオフになっています。動作するように設定する必要があります。また、一括ロードされたファイルもピアクラスタに複製されます。ドキュメントは古くなっています。間もなく修正されます。また、修正版もご覧ください。それに応じてバージョンを選択する必要があります。
  3. その他の制限事項:セキュリティ(ACL)を使用する必要がありますか?その場合、一括読み込みのACLの必要性は、WRITEアクセス権だけでなく、テーブル/ CFに対するCREATEアクセス権です。それを覚えておいてください。これは制限ではなく、ただのことです。バルクロードにはいくつかの欠陥がありましたが、1.3+バージョンではこれらはすでに修正されています。

データ書き込みの一括読み込み方法を試すことができますが、それはあなたのユースケースに最適です。