前回:Apache Drillを使ってみたのでメモ (インストールや基本操作など)

Drillbit Cluster: 概要

Installing Drill on the Cluster - Apache Drill

ZooKeeper: インストール

1
2
3
4
5
6
# cd /usr/local/lib/
# wget http://ftp.jaist.ac.jp/pub/apache/zookeeper/zookeeper-3.4.11/zookeeper-3.4.11.tar.gz
# tar zxvf zookeeper-3.4.11.tar.gz -C /usr/local/sbin/
# cd /usr/local/sbin/zookeeper-3.4.11
# mv conf/zoo_sample.cfg conf/zoo.cfg
# sed -ri "s/^#maxClientCnxns=60/maxClientCnxns=20/" conf/zoo.cfg

Drillbit: 設定ファイルなど

1
2
3
4
5
# cat apache-drill-1.12.0/conf/drill-override.conf | tail -n 4
drill.exec: {
cluster-id: "drillbits",
zk.connect: "[ZooKeeperのIP]:2181"
}

Drillbit: 基本操作

1
2
# apache-drill-1.12.0/bin/drillbit.sh
Usage: drillbit.sh [--config|--site <site-dir>] (start|stop|status|restart|run) [args]
  • Webインターフェイス:Starting the Web Console
  • レポートもWeb側に出るので基本そっち見た方が良い
  • ポートの競合か何かの理由?により、バージョンによって一部の使用ポートが変更されたらしいので、バージョンが古い場合はポート番号を要確認

SQLのメモ

  • drillbitの一覧
1
select * from sys.drillbits;
  • 接続中のdrillbitの確認
1
select hostname from sys.drillbits where `current` = true;
  • sqllineから設定値変更
1
2
3
alter system set `planner.slice_target` = 110000;

SELECT * FROM sys.options where name = 'planner.slice_target';

Drill commands cheat sheet | Open Knowledge Base

1
alter session set `exec.enable_union_type` = true;
1
select * from members where ILIKE((age), '^[0-9]$')
  • カラム名が予約語と被る事が結構多かった(たまたま?)ので、被る場合はバッククォートで囲む:Reserved Keywords - Apache Drill
1
2
// 例:filterというカラムをwhere句で絞る
select * from dfs.`xxxxxxx.csv` as tbl where tbl.`filter` = 'hoge'