ビデオ: Hive 2 -- ビッグデータの対話型SQL 2024
Hiveは、Hadoop(HDFSとMapReduce)のコア要素をベースに構築されたバッチ指向のデータウェアハウジング層であり、次の2つの機能を備えています。大きなデータに非常に便利です。 SQLを知っているユーザーには、マッパーとレデューサーを介してアクセスを犠牲にすることなく、HiveQLと呼ばれる簡単なSQL-Lite実装を提供します。 Hiveを使用すると、構造化されたデータへのSQLのようなアクセスと、MapReduceを使った洗練された大規模なデータ分析の両方の利点を得ることができます。
<! - 1 - >ほとんどのデータウェアハウスとは異なり、Hiveはクエリへの迅速な応答を目的としたものではありません。実際、クエリは複雑さに応じて数分から数時間かかることがあります。結果として、Hiveはリアルタイムの動作を必要としないデータマイニングや深い分析に最適です。 Hadoopの基盤に依存しているため、データウェアハウスは平均的なデータウェアハウスではない、拡張性とスケーラビリティと復元性に優れています。
<! Hiveは、データ編成に3つのメカニズムを使用します。Tables:
-
Hiveテーブルは、行と列で構成されるRDBMSテーブルと同じです。 HiveはHadoop HDFS上に階層化されているため、テーブルはファイルシステム内のディレクトリにマップされます。さらに、Hiveは他のネイティブファイルシステムに格納されたテーブルをサポートしています。 パーティション:
-
Hiveテーブルは、1つまたは複数のパーティションをサポートできます。これらのパーティションは、基礎となるファイルシステムのサブディレクトリにマップされ、テーブル全体のデータの分散を表します。たとえば、テーブルが autos、 とキー値 12345 、メーカー値 Ford、 と呼ばれる場合、パーティションへのパスは/ hivewh /自動車/ kv = 12345 /フォード。
-
次に、データをバケットに分割することができます。バケットは、基礎となるファイルシステムのパーティションディレクトリにファイルとして格納されます。バケットは、表の列のハッシュに基づいています。前の例では、 Focus、 と呼ばれるFord Focus autoのすべての属性を含むバケットがあります。 ハイブ・メタデータは、「メタストア」の外部に格納されます。メタストアは、列の種類、所有者、キーと値のデータ、テーブルの統計情報など、Hiveスキーマの詳細な説明を含むリレーショナルデータベースです。メタストアは、Hadoopエコシステム内の他のメタデータサービスとカタログデータを同期することができます。
Hiveは、HiveQLと呼ばれるSQLライクな言語をサポートしています。 HiveQLは、select、join、aggregate、union allなどの多くのSQLプリミティブをサポートしています。また、単一のHiveQLステートメント内で入力データを共有することにより、マルチテーブルのクエリと挿入をサポートします。 HiveQLは、ユーザー定義の集約、列変換、および埋め込みMapReduceスクリプトをサポートするように拡張できます。