自宅でBigQueryによるGoogleAnalyticsログ解析の学習環境を構築する

概要

この記事は、自宅で(つまり、not法人で、できうる限り安価に)BigQueryによるGoogleAnalyticsログ解析の学習環境を作成した際のメモである。作業の本筋の内容はほとんどリンク先に記述されている内容をなぞっただけで、本文の記述はTIPSと補完が多い。内容は2019-05-05時点での最新を心掛けているが、書いている人間が初学者なので信頼性は保証できない。どんどんマサカリを投げてほしい。

GCP プロジェクトの作成とBigQuery事始め

BigQueryサンといえば150万溶かしたマンが有名だが、現状ではWeb UIだけ利用している限りうっかり課金はまず防げるデザインになっている。それでも千円でも溶かしたくない!こあい!という我々クソ愚民にむけ、google様が300ドル分の無料体験コースを下賜されている。これなら僕でも安心して自宅でBigQueryをしゃぶれる。

実際の始め方については下記の記事の第2パラグラフまでを参考にした。どうもこれも中の人が書いているらしい。しゅごい。

qiita.com

パパパッとやって、おわり! Web UI画面に辿り着いたので、いつものやつをやって動くことを確認する。

#standardSQL
SELECT 'うんこ' AS magic_word

f:id:Matsuzakid:20190505195259p:plain
いまいる部署ではHello worldのかわりに「うんこ」がよく用いられる

できた。SQLファミリーの仕様なのかBig Query特異な仕様なのかはよく分からないが、Big Query(standard SQL版)ではFROM句が無くてもSELECT FUNCTION_NAME() AS COLMUN_NAMEと書けば実行できる。(同僚はなぜか知らなかった。つよつよマンなのに…) しかもこの仕方だとスキャン量は0なので、WITH句を駆使することでBigQueryのそこそこパワフルな処理資源を利用して色んなSQLで遊べる。マジ神。

Google Analyticsのサンプルデータセットの準備

SQLを投げられる環境が出来たところで、投げる先のデータセットを準備する。本来であればこのブログに仕掛けたGoogle Analyticsのログを対象にしたいところだが、Hit単位のログの出力はGoogle Analytics無料版では使えない。(GA 360では可能だが、月100万からのオーダーで個人利用は想定されていない) そこで別途Google Analytics Solutionが提供してくださっている学習用データを利用する。データ公開の背景と目的は下記の翻訳記事に明示されている。

BigQuery 用の Google アナリティクス サンプル データセットのご紹介

ただしここに若干の罠がある。上記の記事からジャンプしたデータセット接続のインストラクションに従ってBigQueryのWeb UIにアクセスすると、見慣れた新UIではなく旧UIに飛んでしまうのである。Try new UIのボタンはあるものの、押下するとbigquery-public-dataプロジェクトへの接続が外れてしまい、迷子になる。幸い、BigQueryのWeb UIのURLの構造は非常に分かりやすいので、query部分の変数projectをbigquery-public-dataに指定してやればなんとかなる。

雑に変数を変えたURL

このリンクをクリックすると左カラムのデータセットにbigquery-public-dataが表示されている状態になるので、新UIでテーブルのプレビューをしたり、Query tableしたりできるようになる。自分含め、Web UIマンは下図のようにすればBigQueryのWeb UIにプロジェクトをピン止めすることもできる。

f:id:Matsuzakid:20190505220422p:plain
左カラムの「プロジェクトを固定」を選ぶ

f:id:Matsuzakid:20190505220610p:plain
上に表示される自プロジェクトではなく、下にNULLっぽく表示される領域を選ぶ

これでbigquery-public-data配下のテーブルに対して雑にクエリを書けるようになった。

次の話

明日は簡単な分析用中間テーブルを作成するところまでできるといいなぁ。下記の2つのページを参考にする予定。なお上の方は公式である。googleしゅき。

support.google.com

ohke.hateblo.jp

(おわり)