こんにちは!伊藤です!
みなさんはGoogle Cloud BigQueryにおいて毎月や毎週などの一定間隔でテーブルから別テーブルへデータを追加したいと考えたことはないでしょうか?
今回はその場合に使えるクエリのスケジュール設定についてご紹介したいと思います。
本記事でわかること
- クエリのスケジュール設定について
- クエリのスケジュール設定の使い方
- スケジュール設定されたクエリの使いどころ
クエリのスケジュール設定について
BigQueryではスケジュール設定をすることにより、設定したスケジュールで自動的にクエリを実行することができます。
スケジュール設定して実行したクエリの結果をそのままテーブルへ追加することもできます。
今回はクエリのスケジュール設定方法について説明していきます。
クエリのスケジュール設定の使い方
テーブル作成
今回はテーブルから別テーブルにデータを追加するクエリのスケジュール設定を行います。
最初にデータ追加元と追加先のテーブルを作成します。
「≡」アイコンを選択し、「BigQuery」 → 「SQLワークスペース」を選択して、SQL実行画面に遷移してください。
データを参照するテーブルとデータの追加先のテーブルを作成してください。
その後データを参照するテーブルにデータを追加してください。
今回はデータセット「test」に以下のテーブルを作成します。
データを参照するテーブル名:fruit_info
追加先テーブル名:fruit_sum
クエリのスケジュール設定
スケジュール実行するクエリを準備する
BigQueryの画面にて以下のようにクエリを作成してください。
作成したクエリの実行結果と追加先テーブルの列数とデータ型が同じになるようにしてください。
クエリのスケジュール設定
スケジュールボタンを押下すると、設定画面が表示されるため、必要な設定項目を設定してください。
設定後保存ボタンを押下してください。
今回は毎週水曜日の9:00に実行されるように設定します。
スケジュールされたクエリの名前 | スケジュールクエリの名前を設定 |
スケジュールオプション | 実行スケジュールを設定 デフォルトで「すぐに開始」が設定されてるため、作成時に実行させない場合「設定した時刻に開始」を選択する。 |
クエリ結果の宛先テーブルの設定 | チェックを付ける |
データセット | 結果を追加するテーブルがあるデータセットを選択 |
Table id | 結果を追加するテーブルIDを入力 |
宛先テーブルのパーティショニングフィールド | 結果を追加するテーブルにパーティションを設定する場合、対象の列名を入力。 今回は未設定。 |
宛先テーブルの書き込み設定 | テーブルに追加を選択 テーブルに追加ではなく上書きの場合、テーブルを上書きするを選択 |
保存ボタンを押下すると以下のような画面が表示され、作成が完了します。
実行確認
追加先のテーブルの実行確認
データ追加先テーブルを見ると、正しくデータが追加されていることが確認できます。
スケジュールクエリの実行確認
「≡」アイコンを選択し、「BigQuery」 → 「スケジュールされたクエリ」を選択して、スケジュールクエリの一覧画面に遷移してください。
その後作成したスケジュールクエリの名前を選択してください。
以下の画面に遷移し、実行結果の●の列が緑色の✓になっているため、正しく動いていることが確認できます。
スケジュール設定されたクエリの使いどころ
データが蓄積されていくテーブルがあり、そのテーブルから項目を厳選して毎月別テーブルに追加したいという場面で使えるのではないでしょうか。
まとめ
今回のようにBigQueryでは設定したスケジュールでクエリを実行する機能があります。
月ごとにデータを別テーブルへ追加したいことがあれば、クエリのスケジュール設定をしてみるのはいかがでしょうか。
Google および Google Cloud Platform™ service は Google LLC の商標であり、この記事は Google によって承認されたり、Google と提携したりするものではありません。
コメント