Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

HBaseをSQLで操作してみよう(前編)

初めてのHBase 第8回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2014/01/30 14:00

 今回は、HBaseをSQLで操作しRDBのように扱えるようにする、Salesforceが開発したライブラリ「Phoenix」を紹介します。

目次

はじめに

 本連載では、ここまでにいくつかのHBaseのユースケースを紹介してきました。RDBとは設計のやり方が違うので、戸惑われた方もいらっしゃると思います。

 今回は、HBaseをSQLで操作できるライブラリ「Phoenix」を紹介したいと思います。NoSQLのHBaseをSQLで操作するというと変に聞こえるかもしれませんが、HBaseをRDBのように扱えるのはメリットだと思います。ただし、Phoenixを使ったからといって、HBaseをまったく意識しなくて良いということではありません。

 今回のテーマでは、HBase上でどう実現されているかについて着目していきたいと思います。まずは前編ということで、実際にPhoenixを動かしてみましょう。

対象読者

  • HBaseを使ってみたいけど、どう使ったらよいか分からない方
  • MySQLなどのRDB以外のデータベースを使ってみたい方

Phoenixとは

 Phoenixは、Salesforceが開発した「HBaseをSQLで扱えるようにしたライブラリ」です。BSDライクなライセンスで公開されており、HBaseへの低レイテンシーなクエリを実行するために開発されました。

 Phoenixでは、基本的なDDL(CREATE TABLE、DROP TABLE、ALTER TABLEなど)やDML(UPSERT VALUES、UPSERT SELECT、DELETEなど)がサポートされています。

 また、ビルトイン関数がサポートされており、独自に作ることも可能です。JDBCをサポートしているので簡単にJavaから使うことができます。

 Phoenixは、RDBライクな表形式のデータモデル(行×列)を提供しますが、HBase上では各列をRowKeyの一部かColumn/Valueとしてマッピングします。これについては、この後に説明します。

 それ以外にも、限定されたものですがトランザクションやセカンダリインデックス、ジョイン(マスタブランチのみ)もサポートされています。

 詳細は、以下を参考にしていただければと思います。

Phoenixを使ってみる

 それでは、実際にPhoenixを使ってみましょう。執筆時点のPhoenixの最新バージョンは2.2.2なので、そちらを使っていきます。

インストール

 Phoenixをインストールしましょう。HBaseはすでにインストールされているものとします。以下のページを参考にインストールしてください。

 Phoenixで推奨されているHBaseのバージョンは0.94.12なので、それ以上のバージョンのHBaseをインストールすると良いでしょう。

 Phoenixは以下の手順でインストールします。

 (1)以下のダウンロードページから、執筆時点の最新版であるphoenix-2.2.2-install.tarをダウンロードします。

 (2)ダウンロードしたファイルを解凍します。

$ tar xvf phoenix-2.2.2-install.tar

 (3)phoenix-2.2.2.jarを、HBaseのインストールディレクトリのlibディレクトリ以下にコピーします。

$ cp phoenix-2.2.2.jar <HBaseのインストールディレクトリ>/lib/

 (4)HBaseを起動します。

$ <HBaseのインストールディレクトリ>/bin/start-hbase.sh

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 鈴木 俊裕(スズキ トシヒロ)

    株式会社サイバーエージェント アメーバ事業本部 Ameba Technology Laboratory 2008年4月に株式会社サイバーエージェントに新卒で入社。基盤システムの開発・運用に従事する。 2010年4月にHadoop/Hiveを用いたログ解析基盤の開発・運用を担当する...

バックナンバー

連載:初めてのHBase

もっと読む

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5