BigQuery 練習
スタート地点での知識
BigQuery とは Google の最強激安ウルトラスケーラブルビッグデータシステムである
AWS と比べると: S3 くらいストレージ費用が安くて Athena くらいスキャン課金が安い
ポチポチやってみたところ確かに早かった (雑)
RECORD 型 (ARRAY, STRUCT) のベストプラクティスまだよくわかってない
分析のためにかっこいい SQL を書く文化圏にいたことがないのでそのへんもよくわかってない
見た動画
Building the World's Largest Enterprise Data Warehouse with BigQuery (Cloud Next '18)
https://www.youtube.com/watch?v=1gYUGv_omJA
BigQuery の "one of founders" である Jordan Tigani 氏 (BigQuery の Engineering Director) と、Looker っていう BI ツールサービスの CTO 基本的なアーキテクチャ (Dremel) の話から、最近のアップデートの話題まで
ちょっと BigQuery コンソールポチポチでかじったレベルで見たらちょうどよかった
50分くらいのところで Nested Data と別テーブル JOIN するのどっちがいいかみたいな話になる
DATA & ANALYTICS - #bigwins with BigQuery @Spotify (GCP NEXT 2016) https://www.youtube.com/watch?v=LTVFg6YOjWo
Spotify の事例
ヨーロッパ最大のクラスタだった自前の Hadoop より 100 倍とか速くなってありがたいとのこと
社員の皆に使ってもらうために勉強会みたいのやったりドキュメント整備したり社内の Slack にお助けチャンネルがあったりする
こういうのデータの民主化みたいな感じで流行ってる気がする
ログだいたい全部入れてて、ABテストの結果とかも BigQuery のデータから見てる
Data-First Mission
Spotify ならレコメンドとかにどう使ってるのか気になるけど触れられてない気がする、飛ばしてるだけかも、まあ analytics ってタイトルについてるしそういうのじゃない気もする
How BuzzFeed Built A Great Data Experience Using BigQuery and Looker (Cloud Next '18)
https://www.youtube.com/watch?v=74PKZmL-Qjs
BuzzFeed の実際のデータパイプラインの図が出てきて迫力ある
何もかも BigQuery に入れる
Web サイトのログとかだけじゃなくて、ソーシャルメディア (Twitter, Facebook, Instagram, Snapchat, ……) の解析データとかも全部入れてる
関わるチーム複数 (6:00)
The data team: Minimize friction into the warehouse
パイプラインからのデータは全部 GCS に置く、JSON Schema を用意してもらえればデータチームが勝手にインポートできる
analysts と data scientists が考えないといけないことをとにかく減らす
Looker 使ってておすすめとのこと (12:00)
練習で作った画面からダッシュボードを錬成できる
Version-controlled business logic よさそう
Advanced BigQuery features: keys to the cloud datawarehouse of the future (Google Cloud Next '17)
https://www.youtube.com/watch?v=UueWySREWvk
内部アーキテクチャの話題から始まる
Explanation の読み方
分散システム初心者だからピンときてないという説
JOIN の種類 (18:00)
Shuffled JOIN, Broadcast JOIN, ……
クエリ失敗しても Explanation 見れるので原因を見てほしい (25:00)
雑に ORDER BY したとき、STRING_AGG (文字列のアグリゲーション)、パーティションなしでの集計、でかすぎる CROSS JOIN など
ORDER BY → LIMIT つける
Skewed JOIN
COUNT DISTINCT するテク (28:45)
確率的アルゴリズム
ポッドキャストで聞いたときはふ〜んくらいにしか思ってなかった………
35:00 くらいから: 1PB くらいあるテーブルに重いクエリ投げていろいろ説明されていたがピンときてない
How to Do Predictive Analytics in BigQuery (Cloud Next '18)
https://www.youtube.com/watch?v=Ml2aCTn7kFY
GA360 とかからパチってきたデータで学習・予測してマーケティングメール送ったりできる (6:00)
マーケティングオートメーションシステム!!!
アルファカスタマーと事例 (7:12)
チャーン予測、コンバージョン予測、購読するか予測、WAF 的なやつにおける IP アドレスの自動ブロック? など
retail のマーケターをペルソナに設定してのデモ (10:00)
Google Merchandise Store (???) の GA360 セッション情報 (パブリックデータセット)
線形回帰で再訪問者が実際に買ってくれるかどうか予測
→ 全再訪問者のうちスコア? が上位何%のユーザに対してリマケを打つと ROI がどれくらいで全再訪購入ユーザのうちどれくらいにリーチしているかみたいなダッシュボード (12:40)
モデルのパフォーマンスを示すダッシュボード (14:15)
Developer - SQL Analyst - Data Scientist 誰向けにどういうサービスをやっているのか (20:00)
BigQuery ML は中間 (アナリスト向け)、機械学習一ミリもわからない人向けではない
BigQuery ML 無限の可能性 (22:10)
パーソナライズに使えるというのどういう感じなのか
アメリカの地方紙いっぱい持ってるアンブレラカンパニー
チャーン予測してみた (26:00)
将来キャンセルするかどうかの二値分類 → 線形回帰
several years of historical data for features from 契約の長さ、契約した newsletter の数、デモグラフィック情報、利用状況、CS への complaints 状況
どうやったか (27:40)
爆速で完成してよかった (32:00)
BigQuery and Cloud Machine Learning: advancing neural network predictions (Google Cloud Next '17)
https://www.youtube.com/watch?v=Ov3Om5Y_Fbg
まだ見てない
Auto-awesome: advanced data science on Google Cloud Platform (Google Cloud Next '17)
https://www.youtube.com/watch?v=Jp-qJFF9jww
まだ見てない
話題
Clustering, Clustered Table
パーティションとは別の概念、RDBMS でいう Index みたいなやつ (実際は多分全然違うので鵜呑みにしないでくれ!!!!!) をはることができる、カーディナリティ高いカラムに対して設定したうえで WHERE 句とかで使うとスキャン料ケチれてお得
知らなかったので使ってみたい
BigQuery ML (BQML)
どういうシーンで使えばいいのかよくわからなかったけどだんだんわかってきた気がする
おもむろにこれでやりましょうって決定できる感じはあんまりしない気もする (機械学習そこまでわからないため)
Looker
まったく感知できてなかったけど流行っていそう