最近、著者が Hbase と Hive の統合について言及しているブログを見つけました。これは可能でしょうか。可能であれば、両方を使用する利点は何ですか (パフォーマンスとスケーラビリティの観点から)。私が間違っていた場合は、親切に修正してください。
2 に答える
少しセットアップすることは可能ですが、簡単ではないと思います。CDH3ファイナルには、リリース時に統合が含まれる可能性があります。
利点:hbaseよりもHiveクエリ。結合と、HBaseデータの集計と簡単な操作を行う簡単な方法を考えてください。
Hiveを使用するだけで、HBaseを気にしないのはなぜですか?HBaseは、データをオンラインに保つスケーラブルなストレージインフラストラクチャを提供します。StumbleUponは、ライブWebサイトにHBaseを使用しています。Hiveはリアルタイムクエリエンジンではないため、そのデータストアを同様の目的に使用することはできませんでした。Hive over HBaseは、両方のメリットを提供します。
現在、HBase と Hive の間でデータをロードできるようにするパッチがあります。ここで見つけることができます:
http://wiki.apache.org/hadoop/Hive/HBaseIntegration
実装のオーバーヘッドはかなり高いようです。
HBase テーブルでスキャンを実行し、外部ファイルに保存してから、データ操作のために Hive にインポートする方が簡単な場合があります。(これもかなり面倒ですが、定期的に実行している場合はスクリプト化できます。) これは現在、私が取り組んでいる解決策です。その様子をお伝えします。
Hive ではなく HBase を選択する理由については、実際には交換可能ではありません。HBase は、Hadoop 上に構築された高度にスケーラブルなデータ ストアとして意図されており、データ分析はほとんどサポートされていません。一方、Hive は、運用環境でデータを格納するために使用されるのではなく、大量のデータに対して特定のクエリを実行することを非常に簡単にします。