Skip to content

Instantly share code, notes, and snippets.

@ytnobody
Last active August 29, 2015 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ytnobody/b65f2002306b07e64c42 to your computer and use it in GitHub Desktop.
Save ytnobody/b65f2002306b07e64c42 to your computer and use it in GitHub Desktop.
# BigQuery
### の解析結果を
# 別のストレージ
### に格納したいぞい
@ytnobody
---
## わいとんさんです
@ytnobody
<img src="http://ytnobody.net/impress/perlbeginners15/img/ytnobody_char.png">
* 相模原のおじさん。DaaS(Docker as a Service)おじさん。
* Perl使い初めてから12年くらい。
* 最近はUnity(C#)にご執心
---
## そもそもBigQueryとは?
* Googleが提供するビッグデータ解析サービス
* アクセスログみたいな蓄積型データを溜め込んでおき、SQL的な文法のQueryを発行して解析結果を得ることができる。
* 個人レベルでは月500円もしない
(利用するデータ規模による。わいとんさんの個人blogアクセスログくらいならこの範囲内に収まってます)
---
## そんな便利なBigQueryですが・・・
この前、とある大御所P氏に訊かれました。
---
<img src="http://40.media.tumblr.com/ff1baebc9fa88b3e5bbdc5675c57fc90/tumblr_nf1d5v8KDn1seazwvo1_500.jpg">
「BigQueryの解析結果をKibanaあたりでグラフ化したい」
---
## 調べてみたものの
事例なし。
---
## とりあえずKibanaに入門
わかったこと
* バックエンドDBにElasticSearchを使っている
* docker image がある (devdb/kibana)
* どうやらElasticSearchのAPIにJSON形式でデータを食わせると、Kibanaでグラフ化出来る模様。 
---
## 大まかに流れを考えてみた
1. BigQueryに渡すQueryと、ElasticSearchに渡すindex/typeを受けとる
2. bqコマンドを使ってBigQueryにQueryを投げ、結果をJSONで受けとる
3. ElasticSearchのAPI宛に、1で指定されたindex/typeに対するデータ追加リクエストをJSONで投げ込む。このときに2で得た結果をデータとして送り込むとよいはず!
---
## つくった
[Qlover](https://github.com/ytnobody/Qlover)
---
## 大まかな構造
1. Qlover APIが ElasticSearch向けのindex/typeとBigQuery向けのQueryを受けとる
2. ジョブファイルを作る
3. Workerがジョブファイルを発見次第、BigQueryにQueryを投げ込んで、結果をElasticSearchに投げ込む
---
## 一昨日作り始めたばかり!!!
---
動くけど!
デモはちょっとできないなあ・・・
---
## 結論
[BigQueryでクエリを発行して他のデータストアに丸投げするには](http://blog.ytnobody.net/entry/2015-03-20-18-43-49.html)
---
Fin.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment