mazeltov7のweb断片

備忘録的なテキトーなことを書きます。(技術記事はQiitaに移行しました http://qiita.com/mazeltov7 )

AndroidストアのデータをElasticsearchに入れてkibanaで表示

データ入れる

ストア管理画面から、アプリデータのcsvファイルを取得して、./app_data/csv/に入れる。 簡単なconfigurationをseed.ymlに書く。

in:
  type: file
  path_prefix: ./app_data/csv/
out:
  type: elasticsearch
  index: app_data
  index_type: android
  nodes:
    - host: localhost

で、

$ embulk guess ./app_data/csv/ -o config.yml

とすると、いい感じにconfig.ymlを作ってくれる!sugoi! タイムゾーン変えたい場合は以下加える。

parser:
  default_timezone: 'Asia/Tokyo'

で、

$ embulk run config.yml -c diff.yml

にて、データ入る。素晴らしい!

ref: Scheduled bulk data loading to Elasticsearch + Kibana 4 from CSV files — Embulk 0.8 documentation

kibanaで表示

例として、アプリのマンスリーレポートのcountryレポートのcsvデータを読み込んだとする。
主要国のcurrent device installとかを出してみる。
Visualizeでフィルターに"Country": "US"として、X-AxisDate-Histogramで、Y-AxisにAggregationでSum(current device installにすでに集計されたデータ入ってるのでそれを表示するために仕方なく。別にmaxでもminでも同じ表示になる。)を設定、FieldCurrent Device Installをセット。これで反映すると日別のUSのアプリインストールされてるデバイス数推移が出る。

んー、なんかもっとスマートにやりたいな。もっといじっていく。