はじめに
こんばんは。
案件でBigQueryを触ることがあり、分割テーブルを作ることがあったので、備忘録として残しておきます。
本題
時間分割テーブル
こんな感じのテーブルを作ります。
重要なのはテーブル名に YYYYMMDDのフォーマット
で名前をつけています。
今回は 20221113
で付けています。
そして、次の日の 20221114
でテーブルを作成します。
するとUI上に下記のような選択できる箇所ができます。
そこで日付別のテーブルにアクセスできるようになります。
今回作ったテーブルは、クエリで一気にアクセスできます。
それぞれのテーブルに1件だけデータを入れます。
そしてSelect文を実行します。
ポイントはアスタリスクでアクセスさせるところくらいです。
パーティショニングテーブル
次はテーブルごとに分けるんではなくパーティショニング機能をつかった分割テーブルです。
テーブル作成時に下記のように設定します。
createdカラムを基準に1日ごとにパーティショニングします。
WHERE句の設定は「今回は」オンにしていますが、どちらでもいいです。
そして適当にデータを入れます。
そして、下記のようにSELECT文を使ってデータを引っ張ります。
WHERE句指定をONにしているので、今回のようなSQLになります。
終わりに
最近かんたんなものしか上げてませんが、一旦続いている自分を褒めたいなと。
誰も褒めないんだから自分は褒めてあげないとね。
えらい!
現場からは以上です。