Druid part2はpivotを使ってデータを可視化していきます。
pivotのインストール
npm i -g imply-pivot
pivotにはサンプルが入ってるので、それを動かしてみます。
pivot --example wiki
次にDruid serverを動かします。
前回はDruidのチュートリアルでwikipediaからデータを取ってきたのですが、今回はtwitterのstream apiからデータを取ってくるようにします。
./run_example_server.sh
twitterを選ぶと、consumer keyなどを聞かれるので、入力します。
Druidがtwitterのデータを取り始めたら、pivotでdruidにつなげます。
pivot --druid localhost:8084
pivotのgitのreadmeには8082とサンプルが書いてありましたが、8084で動いているので、変更します。
ただ、上記のコマンドを打っても Bad status code と言われてしまうので、configファイルを作ってそれを読み込ませます。
pivot --druid localhost:8084 --print-config --with-comments > config.yaml
config.yamlの雛形が作られるので、中身を変更します。
pivotのリポジトリにも config.yaml.sample が入っているのでそれを参考に、こんな感じにしてみました。
# generated by Pivot version 0.7.10 # The port on which the Pivot server will listen on port: 9090 # A Druid broker node that can serve data (only used if you have Druid based data source) druidHost: localhost:8084 useSegmentMetadata: true # A timeout for the Druid queries in ms (default: 30000 = 30 seconds) #timeout: 30000 # Should new datasources automatically be added sourceListScan: disable dataSources: - name: twitter title: twitter engine: druid source: twitterstream timeAttribute: time refreshRule: rule: realtime # Could not find any data sources please verify network connectivity
engineにdruid、dataSourcesのsourceに twitterstream とするのがポイント
config.yamlを作ったらこれを元にpivotを起動します。
pivot --config config.yaml
9090ポートでpivotが立ち上がるので、ブラウザで確認します。