2016-05-30 8 views
0

シナリオ:MapReduceでHDFSの代わりにHBaseを使用

私はテラバイトのデータを分析し、その上にテキストマイニングを行い、そのデータをHDFSファイルに保存します。次に、データを照会するために、このデータをHiveにインポートします。

ただし、増分データに対していくつかの更新操作を実行する必要もあります。たとえば、新規および古いデータに同じ行キーが存在する場合は、挿入するのではなくデータを更新します。

現在、私はHDFSを使用して上記の操作を行っています。今では、読み書き操作でHBaseに移行することを考えています。

このアプローチのパフォーマンスの長所と短所を知りたいHDFSと比較してMapReduceでHBaseの読み書きを使用する (データストアとしてのHBaseを使用)

答えて

0

長所:

  • 柔軟なデータモデルで動作し、データは、行キーによってインデックスされます。
  • テーブル間の高速スキャン。
  • 大きなデータ内からの少量のデータへの低遅延アクセス が設定されています。 10億の行テーブルから1行にすばやくアクセスできます。
  • 小規模なアップデートの場合は、 (HDFSの場合)よりもむしろスキャンして更新できるので、より良いことです。 (データストアとしてのHBaseを使って)

短所:

  • あなたはあなたのケースでは大量のデータ(テラ バイト)をロードするために、バルクロードを実行する必要があります。
  • バルクロードを使用すると、WALをスキップします(データが失われる危険性があります)。
  • データロードのためにバルクロードを実行しない場合、速度は 減少します。

私はあなたの質問にお答えしたいと思います。 私が間違っている場合は私を修正してください

+0

mapreduceジョブを実行するたびにすべてのデータをhdfsで使用すると、hbaseからhfds txtまたはparquetに比べて毎回すべてのデータが読み込まれますファイル – halil

+0

@halil貴重なご意見ありがとうございます。 –

+0

@halil hbaseやhdfsをサポートしていますか?あなたのコメントはあいまいでした。 –

関連する問題