経緯
- 24万行のCSV fileが手元にあり、Excelやgoogleスプレッドシートでは処理できないので、どうしようか検討した
- nonエンジニアの人にも見てもらうので、可能な限り、GUIで直感的に使えるようにしたい。
方針
- TreasureDataのwebサービス使うと、CSV fileのimportとSQL文を使った必要なdataのselectまで30分以内でできた。でも、SQL文が必須になる。
- ElasticSerachとKibanaを使うと、かっちょいいGUIで操作ができるみたい。これでいこう。
環境
- Ubuntu14.04
ElasticSearch2.2
- download zip
https://www.elastic.co/downloads/elasticsearch -
unzip
で解凍 -
bin/elasticseaech -d
でバックグラウンドで起動 -
curl -X GET localhost:9200
で動作確認
kibana4.4
- download zip
https://www.elastic.co/downloads/kibana -
tar xvfz
で解凍 -
bin/kibana
で実行
embulkでcsv(tsv) fileをimport
Download Embulk binary
$ sudo wget http://dl.embulk.org/embulk-latest.jar -O /usr/local/bin/embulk
$ sudo chmod +x /usr/local/bin/embulk
Install Elasticsearch plugin¶
$ embulk gem install embulk-output-elasticsearch
Loading a CSV file
-
embulk example ./mydata
で雛形作成
./mydata
の名前、場所は任意でok -
.mydata/csv
以下にcsv fileを保存。
私はtsv fileを圧縮(gz)したfileを保存しました。 -
./mydata/seed.yml
を編集
seed.yml
in:
type: file
path_prefix: "/path/to/file/file-prefix."
out:
type: elasticsearch
index: embulk
index_type: embulk
nodes:
- host: localhost
-
embulk guess ./mydata/seed.yml -o config.yml
実行 -
embulk preview config.yml
実行 -
embulk run config.yml
実行
注意事項としては、この時はElasticSearchが起動している必要があります。
kibanaにアクセス
-
http://x.x.x.x:5601
でアクセスすると、下記のようなSetteingsタブが表示されます。よく分からなかったのですが、下記のような感じで、ワイルドカードにして、先にすすめます。
-
Discover
タブで、検索窓で直感的に検索が可能です。(詳細な使い方はこれから)
-
Visualize
タブでグラフを作成し、Dashboard
タブで並べることで下記のような画面が作れます。
その他
dashboardの検索結果をcsvでdownloadしたい
- 現在のバージョンのkibanaでは、dashboardの検索結果をcsvでDownloadできません。githubのissueには登録されていますが、まだ未対応です。
- こちらで紹介されている、Chromeのaddonを使う事で、csv downloadができます。
daemonで起動
- ElasticSearchは結局
bin/elasticsearch -d
にしました。 - kibanaは下記を参考にしました。
管理者画面を使いたい
- Marvel pluginをinstall
まとめ
- ずっと気になっていたElasticSearch+Kibanaを触ることができました。
- Kibanaで可視化できる内容もだいたいわかりました。もう少し面白い見せ方を探っていきたいと思います。