投稿者:松井

NI+C2年目の松井です
今回BigQueryを触る機会があり、スケジュールされたクエリを使ってみたのでブログに書いていこうと思います。

BigQueryとは?

大規模大容量なクラウドデータウェアハウスです SQLクエリを使用して、データの解析を超高速で行うことが可能となります

BigQuery は、機械学習、地理空間分析、ビジネス インテリジェンスなどの組み込み機能を使用してデータの管理と分析を支援する、フルマネージドのエンタープライズ データ ウェアハウスです。

どんな機能なのか

読んで字のごとくSQLクエリをスケジュールし、自動で実行する機能になります。
1度設定を行えば、以降は自動で定期的に実行が行われます。
スケジュールできるタイミングは分単位で指定でき、月や年の決まった日付にSQLクエリを実行する事も可能です。
また設定した項目に関して、再設定、削除などの編集ももちろん可能です。

使い方

ではスケジュール実行を試してみましょう
今回はプロジェクト内の各テーブルの使用量を確認するクエリを書いていきます。
まずBigQueryのエディタを開きます
BigQuery.png

次にエディタにクエリを書いていきます 今回は以下のクエリ文を使用します

SELECT  
      table_catalog,  
      table_schema,  
      table_name,  
      total_rows,  
      total_billable_bytes,  
      CURRENT_DATE AS date  
FROM `dt_portal.INFORMATION_SCHEMA.PARTITIONS`;  

クエリ文を書いたら、画面上部の「実行」をクリックします
BigQuery(クエリ).png

「クエリ結果」が表示されることを確認します
BigQuery(クエリ結果).png

クエリ結果を確認したら、画面上部の「保存」を選択し「クエリを保存」をクリックします
BigQuery(クエリの保存).png

適当な名前を入力して「保存」を選択します。
この名前は後で使うのでメモしておきましょう
BigQuery(クエリの名前を保存).png

「スケジュール」を選択し「スケジュールされたクエリを新規作成」をクリックします。
BigQuery(スケジュール).png

画面右側に「新たなスケジュールされたクエリ」が表示されることを確認します
BigQuery(新たにスケジュールされたクエリ).png

「詳細とスケジュール」にクエリの名前を入力します
BigQuery(スケジュールされたクエリの名前を保存).png

「スケジュールオプション」で実行スケジュールを記入します(今回は15分で設定します)
※任意の時刻に開始と終了日を設定する事が可能です。
※カスタムスケジュールの書式についてはこちらを参照
Bigquery(スケジュールオプション).png

「クエリ結果」の書き込み先を指定します
Bigquery(宛先テーブルの書き込み先設定).png

「宛先テーブルの書き込み設定」を選択する
※データロケーションについては今回は設定しません Bigquery(宛先テーブルの書き込み先ロケーション).png

全て記入し、「設定は有効です」の文言を確認したら「保存」を選択します
Bigquery(スケジュールされたクエリ保存).png

最後に「スケジュールされたクエリ」で実行が確認出来たら完了となります
スケジュール実行結果.png

まとめ

BigQueryのスケジュールされたクエリによって、簡易なスケジュール実行が可能となります。 BigQueryを触ったことのない人でも簡単に実行できるので是非お試しください