2017-09-23 9 views
1

私のプロジェクトでHbaseのバックアップHiveテーブルを使用していますが、HbaseをバックアップしたHiveを選択した理由は更新を実行するためです。なぜHBaseにバックアップされたHiveテーブルがMapReduceを使用する

これ以外に、HbaseでバックアップされたHiveテーブルの利点があります。 Hiveから質問されたときでもMapReduceを使用しています。 小さなデータセットが必要であっても、テーブルが巨大なので結果を与えるのに時間がかかります。

ただし、範囲でスキャンを実行するか、HbaseシェルでHbaseで取得すると、結果は数分の1秒になります。では、HbaseのバックアップHiveテーブルを更新(これは現在HIVEでも利用可能です)と別に使用することの他の利点は何ですか?& SQLの容易さ。

HIVEが評価し、Hbaseによってサポートされている場合はクエリを実行しますか? MapReduceを使用してスキャンする理由&はるかに高速なHbaseエンジンの代わりに結果を与える?? HbaseはScanを実行する独自のエンジンを持っていますが、HFilesからデータをフェッチする操作を取得しますか?

答えて

1

HbaseにバックアップされたHiveを使用しないことをお勧めします。 あなたが見ることができるように、フィルタ付きスキャンは、ハイブクエリが実行される時間の摩擦で実行されます。 これは、Hbaseがストレージレベルのデータをフィルタ処理し、ハイブですべてのテーブルデータをロードしてからフィルタするためです。 ハイブからHbaseへの述語プッシュダウンがあると思われますが、問題には未解決の問題がたくさんあります。そして、述語プッシュダウンの多くは無効です。 詳細については、ページを確認することができます:Hive HBase Integration

+0

ありがとう、これは私が探しているものではありません – AJm

関連する問題