そこそこの分量のJSONデータを手元で検索するのにDrillを使っています。Elasticsearchなどに入れてもいいのですが、Drillにはファイルの状態で検索できること、SQLで検索できること(それなりに複雑な集計を手軽に書けたり、必要に応じて他のデータとジョインしたりできる)というメリットがあり、便利に使っています。
ローカルで使うだけであればdrill-embedded
で対話シェルを使うでもよいのですが、使い慣れたGUIフロントエンドやBIツールを使いたい場合など、DrillにJDBC経由で接続できると便利なのですが、DrillをJDBC接続可能なサーバとして動作させるにはZooKeeperが必要になるようです。
というわけでまずはZooKeeperをインストール。といっても最低限必要なのはダウンロードしたアーカイブを適当な場所に展開し、conf/zoo_sample.cfg
をzoo.cfg
にリネームするだけです。
$ tar xvzf zookeeper-3.4.8.tar.gz $ cd zookeeper-3.4.8 $ mv conf/zoo_sample.cfg conf/zoo.cfg
起動します。
$ cd bin $ ./zkServer.sh start
Drill側は予めデフォルトで最低限必要な設定が入っているので何もせずにDrillbitを起動します。
$ cd apache-drill-1.4.0/bin $ ./drillbit.sh start
接続できるか確認してみます。
$ ./drill-localhost ... 0: jdbc:drill:drillbit=localhost>
JDBC経由で接続してみます。Drillを展開したディレクトリ内にあるjars/jdbc-driver/drill-jdbc-all-1.4.0.jar
がJDBCドライバです。以下の情報で接続できるはずです。
ZooKeeperを入れないといけないのが若干面倒ではありますが、1台で動かす分にはほぼデフォルトの状態で動かすことができるのでJDBC経由でも気軽に使えそうです。