トップQs
タイムライン
チャット
視点

Apache Hive

Hadoopの上に構築されたデータウェアハウス構築環境 ウィキペディアから

Apache Hive
Remove ads

Apache HiveHadoopの上に構築されたデータウェアハウス 構築環境であり、データの集約・問い合わせ・分析を行う[1]。Apache Hiveは当初はFacebookによって開発されたが、その後Netflixのようにさまざまな団体が開発に参加し、またユーザーとなった[2][3]。 Hive はAmazon Web ServicesAmazon Elastic MapReduceにも含まれている[4]

概要 最新版, リポジトリ ...
Remove ads

特徴と機能

Apache HiveはHadoop互換のファイルシステム(たとえばAmazon S3)に格納された大規模データセットの分析を行う。使用には、map/reduceを完全にサポートしたSQLライクな「HiveQL」という言語を用いる。クエリの高速化のため、ビットマップインデックスを含めたインデクス機能も実装している[5]

標準設定では、Hiveはメタデータを組み込みApache Derbyデータベースに格納するが、オプションとしては別に用意したクライアント・サーバデータベース(たとえばMySQL)に格納させることもできる[6]

現在、Hiveがサポートするファイルフォーマットは3種類あり、それらはTEXTFILE, SEQUENCEFILE および RCFILEである[7][8]

Hiveが提供する機能には他には次のようなものがある[9]:

  • 高速化のためのインデックス作成
  • 別の種類のストレージタイプ。たとえばプレーンテキスト・RCFile・HBaseなど
  • クエリ実行時のセマンティックチェック時間を大幅に短縮するため、メタデータを関係データベース管理システム (RDBMS) に格納する機能
  • Hadoop環境に格納された圧縮データを扱う機能
  • 日付型・文字列型を扱ったり他のデータ操作を可能とする組み込みユーザ定義関数(UDF)。組み込み関数で用意されていない機能もユーザが自作UDFを作成することで対応することが可能
  • SQLライクなクエリ言語(Hive QL)。これは内部的にMap/Reduceジョブに変換される
Remove ads

HiveQL

HiveQLはSQLに基づいているものの、厳密にはSQL-92をフルサポートしてはいない。たとえばSQLにない複数テーブルインサートcreate table as selectは可能だが、インデクスに関しては限定的なサポートに留まっている[10]。また、HiveQLはトランザクションやマテリアライズドビューの機能はもたず、副問い合わせのサポートも限定的である。[11][12]

内部的には、コンパイラがHiveQL文をMap/Reduceジョブの有向非巡回グラフに変換し、それがHadoopに渡され実行される[13]

関連項目

参照

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads