BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Apache Hive 1.0リリース,HiveServer2がメインエンジンに,API定義を固定化

Apache Hive 1.0リリース,HiveServer2がメインエンジンに,API定義を固定化

原文(投稿日:2015/02/11)へのリンク

Apache Hiveは,2015年2月6日,同プロジェクトのバージョン1.0をリリースした。当初バージョン0.14.1として予定されていたが,コミュニティの投票により,プロジェクトの到達した完成度の高さを反映すべく,バージョンナンバを1.0.0に変更したのだ。0.15.0として計画されていた次期メジャーリリースは,1.1.0に変更される予定である。今回のリリースでの主な変更点は,公開APIの定義に着手したこと,HiveServer1が廃止されてHiveServer2に代わったこと,この2つだ。

Hiveのクライアントレベルのコア機能は,HiveMetaStoreClientクラスが提供する。1.0.0バージョン以降,HiveMetaStoreClientは公開APIとなり,クラスのインターフェースの安定化が図られることになった。このインターフェースをJavaプログラムから直接利用することにより,クエリインターフェース経由では不可能だった,さまざまな管理あるいは監視のタスクが実行できるようになる。

HiveServer2エンジンは,Clouderaが2年半前にコントリビュートしたもので,SQLデータベース接続の標準的インターフェースであるJDBCとODBCをサポートする。これらのインターフェースを使うことで,特定のデータベースに依存性しないプログラムの記述が可能になる。インターフェースをサポートする任意のデータベースに対して,プログラムを動作するように設定することができるのだ。JDBCは,Javaの標準ライブラリに含まれている。

HiveServer1の廃止により,元来あったHiveのコマンドラインインターフェースが削除され,Beelineに置き換えられる。Beelineも同じくHiveの一部だが,HiveServer1のネイティブなHiveインターフェースではなく,一般的なJDBCインターフェースをベースとしている点が異なる。

Hiveは元々,Facebookのデータインフラストラクチャチームが2009年にスタートしたものだ。SQL:2001にほぼ準拠したHiveQLという,SQL風のクエリ言語を提供する。バージョン0.13.0でINSERT, UPDATE, DELETE操作のトランザクションと,行レベルでのACID準拠のサポートが追加されたが,複数の操作を単一のトランザクションにグループ化する,トランザクションブロックの汎用的なサポートは欠如していた。

StingerイニシアティブによるHiveの将来的なロードマップには,高速化,サブセカンド単位のクエリ時間,トランザクションのフルサポートとACID準拠,SQL:2001準拠,機械学習と分析の統合,Apache TezApache Sparkといった他の計算バックエンドのサポートといった題目が挙げられている。

Apache Hiveは,Hadoopシステムに格納された大量のデータを扱うSQL風クエリ言語を提供する,数多いプロジェクトの中のひとつである。他の例としては,同じくHiveのデータを操作可能なCloudera Impalaがある。それ以外のプロジェクトは,クエリの記述にSQL風の言語を使用はするが,それ自体はSQLデータベースではない。Hadoop上のデータの高速な検索とインデックス化に,コラム指向のストレージを使用する,Apache Drillなどはその例だ。

この記事に星をつける

おすすめ度
スタイル

BT