もがき系プログラマの日常

もがき系エンジニアの勉強したこと、日常のこと、気になっている技術、備忘録などを紹介するブログです。

BigQueryの分割テーブル作成

はじめに

こんばんは。

案件でBigQueryを触ることがあり、分割テーブルを作ることがあったので、備忘録として残しておきます。

cloud.google.com

本題

時間分割テーブル

こんな感じのテーブルを作ります。

重要なのはテーブル名に YYYYMMDDのフォーマット で名前をつけています。

今回は 20221113 で付けています。

そして、次の日の 20221114 でテーブルを作成します。

するとUI上に下記のような選択できる箇所ができます。

そこで日付別のテーブルにアクセスできるようになります。

今回作ったテーブルは、クエリで一気にアクセスできます。

それぞれのテーブルに1件だけデータを入れます。

そしてSelect文を実行します。

ポイントはアスタリスクでアクセスさせるところくらいです。

パーティショニングテーブル

次はテーブルごとに分けるんではなくパーティショニング機能をつかった分割テーブルです。

テーブル作成時に下記のように設定します。

createdカラムを基準に1日ごとにパーティショニングします。

WHERE句の設定は「今回は」オンにしていますが、どちらでもいいです。

そして適当にデータを入れます。

そして、下記のようにSELECT文を使ってデータを引っ張ります。

WHERE句指定をONにしているので、今回のようなSQLになります。

終わりに

最近かんたんなものしか上げてませんが、一旦続いている自分を褒めたいなと。

誰も褒めないんだから自分は褒めてあげないとね。

えらい!

現場からは以上です。