Google BigQueryを使ってみた!
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Google BigQueryを使ってみた!

on

  • 0 views

PerlCasual #06

PerlCasual #06
2014/10/24
Yusuke Wada a.k.a. yusukebe

Statistics

Views

Total Views
0
Views on SlideShare
0
Embed Views
0

Actions

Likes
2
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Google BigQueryを使ってみた! Presentation Transcript

  • 1. Google BigQueryを つかってみた! PerlCasual#06 2014/10/24 Yusuke Wada a.k.a. yusukebe
  • 2. 2つの問題意識
  • 3. 1. 開発サイドから • 例えばアクセスログが膨らんで活用できない 1.サイズが大きい 2.分散されている 3.量が多いので解析するのが難しい • 何か困った時に過去のログが使えない... 大きなログを簡単に追いたい!
  • 4. 2. ビジネスサイドから • 例えば行動ログ的な細かい指標が無い 1.データベース上の静的な情報のみ 2.Google Analyticsは非常に優秀だが... 3.ユーザーに紐付く情報を解析したい 指定したログを貯めてディレクターの人 でも解析・分析でできるようにしたい!
  • 5. と、その時... 巷でビッグクエリーという言葉を 聞くようになる...
  • 6. とか!
  • 7. Google BigQueryは巨大なデータを様々 なフォーマットで放り込めてSQLライ クなクエリで問い合わせが可能でチョー 高速!120億レコードに対するクエリ を5秒でフルスキャン!ステキー しか も利用料も安いと来たもんだっ!
  • 8. ってことで Google BigQueryを使ってみた話+α
  • 9. データを用意する 業務で使っているログの場合 • RPCへのアクセス+ユーザー識別子 • 一旦JSON形式でファイルへ書き出す • 集約サーバーに投げる • fluent-plugin-bigquery で BigQuery へ挿入
  • 10. Google BigQuery 集約サーバ APIサーバAPIサーバAPIサーバ
  • 11. データを用意する デモのためにTwitter APIを利用する • Streaming APIの「statuses/sample」を利用 • publicなツィートのほんの一部を取得可能 • fluent-plugin-twitter で簡単に • 最後はやはり fluent-plugin-bigquery を使う
  • 12. Google BigQuery Tweet収集サーバ
  • 13. スキーマは必要
  • 14. Google BigQueryは ブラウザから色々できる
  • 15. 例えば... • BigQuery Browser Tool (後述) • Googleアカウントベースで権限の追加 • 利用状況の確認 • APIクライアントの作成や削除 • APIリクエストのモニタリング • 課金の管理 フルマネージドで便利!
  • 16. 独自のSQLで問い合わせる https://cloud.google.com/bigquery/query-reference
  • 17. ここで BigQuery Browser Tool 登場
  • 18. SELECT COUNT(*) AS tweet_count FROM [twitter-stream-sample:twitter.tweet] ちなみに10月18日(土)から収集開始
  • 19. 22,289,497件 / 7.5秒
  • 20. Browser Toolで出来ること • Queryの実行と結果を表形式で見る • Queryの保存とロード • CSV形式での結果のダウンロード • 新しいテーブルやDataSetの作成など 必要最小限の機能が揃っている さらにBigQuery Connector for Excelを使えばExcelとの連動も可能
  • 21. 例えばディレクターが新しい KPIを図るためにQueryを 構築することも考えられる
  • 22. 以上 Google BigQuery を使ってみた話終わり One More Thing
  • 23. 今作ってるモノ BigView For Visualizing Google BigQuery • 元々業務でBigQueryの結果を可視化するため • Browser Toolのある種拡張 • BigQueryのThird-partyサービスは複雑で高価 • 目指すところはKibanaっぽいところ?
  • 24. BigViewで出来ること • Googleアカウントでのログイン • 権限を持つプロジェクトへのクエリの実行 • とある条件下での結果のチャート表示 • Pieチャート • Lineチャート • クエリの保存 (未実装)
  • 25. BigViewを使ってみる
  • 26. 1時間ごとのツイート数 をグラフにしてみる
  • 27. SELECT USEC_TO_TIMESTAMP((UTC_USEC_TO_HOUR(created_at))) AS time, COUNT(*) AS tweet_count FROM [twitter-stream-sample:twitter.tweet] GROUP BY time ORDER BY time
  • 28. この辺はデータが欠落してます><
  • 29. ユーザーの使用言語の割合を チャートにしてみる
  • 30. SELECT user_lang, COUNT(user_lang) AS lang_count FROM [twitter-stream-sample:twitter.tweet] GROUP BY user_lang ORDER BY lang_count DESC
  • 31. 何らかのライセンスで パブリックに使ってもらう かもしれません!
  • 32. まとめ
  • 33. • Google BigQueryはブラウザで色々できちゃって 楽だし安いそして早い/速い • 実装(連携?)はおおよそfluentdにお任せ • 活用できてないデータを活かすことが出来る • Browser ToolでディレクターがSQLを書く? • BigViewでシンプルなデータの視覚化を目指す • Googleの回し者ではないです ^^