BigQueryの使い方について事前に知っておいて良かったこと

BigQuery

GoogleアナリティクスのデータをBigQueryから出力すると簡単だよ。

そんな言葉をエンジニアの方から聞いて、実際にさわってみたが普通のSQLと違い癖があることがわかった。BigQueryという単語を初めて知ってから2週間がたち、初めは試行錯誤しながら書いていたSQLも昼夜問わず、調べたり実践してみたりしたことで、何とか入り口には立てたはず。

結構、同じことの失敗やこれを事前に知っていれば出来たなと思うことがあったので備忘録的に残しておきたいと思った。

SQLはSELECT文だけであれば書けるので、そのことも早く知識が得れた要因なのかもしれないが、今までこんな書き方はしたことがないので、初心者も同然といえば同然かもしれない。

BigQueryで事前に知っておいた方が良かったこと2点

 ・unnestの書き方
 ・Select分のカラムの書き方

この2つを知っておくことで上達方法が格段に違う。

元にunnestをググってほしい。かなり困っている人がいるだけにunnestについて書かれている記事が多数見つかるはずである。

次にSelect文の特殊な書き方であれば、これは私が周りの方にフォローしてもらったおかげで書けるようになった。

unnnestの書き方

 ・まず簡単なSelect分を書いてみる
  Select * from table;

テーブル名は仮)tableとおいているので、自分の知っているテーブル名に変更して欲しい。例えばhitsといったページ名などをBigQueryで出力する場合、unnestをする必要がある。そもそも先ほどから言っているunnestとは、例えば一つのセル内に改行をして、何行にもわたって記載されている状態をunnestという関数を使うことにより、その何行ものデータを各セルに振り分けしてくれる。

BigQueryをやって良かったこと。抽出がかなり早い。何百万のデータも1分もあれば、出力できたりする。通常のDBのSQLであれば数分はかかる作業が、BigQueryだと数秒でできたりする。(感覚値)

続いてSelect文の書き方

 例えば、簡単なSQLを書くと、このようにかける

Select * from table;

もう少しカラムを指定したりするとこのようになる

Select date from table;

通常のSQLでは書けないが、BigQueryだと書ける書き方

Select (select date from table where date > `2020/12/15`) as date from table;

なんと絡むにSelect文を記載することが可能なのです。

SQLの知識がある程度ある人に対しては、かなり使いづらい、書きづらいと思うのではないか。ただ、慣れるとそうでもない。ので書き続けることが重要。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です