2017-09-26 5 views
0

ユーザープロファイルデータを作成する必要があります。このプロファイル・データ/スキーマは、時間の経過とともに進化する意味を維持し、より多くの属性がプロファイルに追加されます。一部のデータは、削除、更新、および拡張できます。ハイブとスキーマの進化

ハイブ+アブロがそのような用途に適したストアであるかどうかを知りたい(私は、ハイブがスキーマレスではなく、スキーマの進化をサポートしていないと推測しています。 HBase /カサンドラは良い選択でしょうか?

答えて

0

Hive/Avroを使用したスキーマの進化はかなり可能ですが、現在のところAvroデータセットのACID挿入/更新/削除をサポートしていないようです(ORCファイル形式はサポートされています)。/Cassandraはこのユースケースに使用できます。これらの技術の主な違いは、進化するデータ(読み取り/書き込みパフォーマンス、基盤となるストレージ、CAPプロパティ、データクエリ集計のための基本的なフレームワーク(マップリダクションまたはネイティブ)など)と、これらの技術。これらの3つの比較を並べて確認できますhere

+0

ありがとうございます。私は既存のレコードの更新と削除に関する質問があります。たとえば、上記のリンクで "natalia"と言うと、国を "Italy"に変更し、 "tofi"のレコードを削除したいと思っていますが、これをHiveで行うことはできますか?これはAvroファイルで変更されますか? Avroファイルは(HDFSにあるように)不変なので、新しいAvroファイルを作成しますか? HBase(これは自動的に別のHFile(不変)を維持することによって自動的に処理され、その後、最新バージョンのデータのみを保持するためのマイナー/メジャー圧縮が行われます) – sunillp

+0

私はHiveがAvroフォーマットのトランザクション挿入/更新/削除をまだサポートしていないと思っていますが、現在のところ、ORCファイルフォーマットでのみサポートされているようです。だからあなたのユースケースではAvroを除外します。 – Shailendra

+0

ORCファイル形式はスキーマの進化をサポートしていますか?つまり、新規または既存のレコードに対して新しい列をオンザフライで追加しますか?私はこれらのすべてのサポートが新しいレコードまたは既存のレコードの挿入/更新/削除/拡張スキーマを必要とする。あなたはHBase/Cassandraがより良い選択になると思いますか? – sunillp

関連する問題