2014年12月9日火曜日

groovyとApache Phoenixでテーブルを結合してクエリーを実行する

groovyとApache Phoenixでテーブルを結合してクエリーを実行するには、以下のようなコードを実行します。

サンプルコード
import groovy.sql.Sql
import java.sql.*

sql = Sql.newInstance(
  "jdbc:phoenix:localhost",
  "",
  "",
  "org.apache.phoenix.jdbc.PhoenixDriver")

query = """
select
  cust.customer_cd,
  MAX(cust.first_name) as first_name,
  MAX(cust.last_name) as last_name,
  SUM(sales) as total_sales
from
  SALES_DATA data
  join CUSTOMER cust
    ON (data.CUSTOMER_CD = cust.CUSTOMER_CD)
group by cust.customer_cd
ORDER BY SUM(sales) desc
"""
sql.eachRow(query){ row ->
  println row
}
クライアント設定
phoenix-4.1.0-bin.tar.gzを解凍しphoenix-4.1.0-bin/hadoop2/phoenix-4.1.0-client-hadoop2.jarを~/.groovy/libなどにコピーします。

動作環境
groovy 2.3.6, JDK 7 Update 65, Hadoop 2.5.0, zookeeper 3.4.6, hbase 0.98.5, phoenix 4.1.0

0 件のコメント:

コメントを投稿