BigQueryでスケジュールされたクエリを使ってみた
投稿者:松井 大樹
NI+C2年目の松井です
今回BigQueryを触る機会があり、スケジュールされたクエリを使ってみたのでブログに書いていこうと思います。
BigQueryとは?
大規模大容量なクラウドデータウェアハウスです
SQLクエリを使用して、データの解析を超高速で行うことが可能となります
BigQuery は、機械学習、地理空間分析、ビジネス インテリジェンスなどの組み込み機能を使用してデータの管理と分析を支援する、フルマネージドのエンタープライズ データ ウェアハウスです。
どんな機能なのか
読んで字のごとくSQLクエリをスケジュールし、自動で実行する機能になります。
1度設定を行えば、以降は自動で定期的に実行が行われます。
スケジュールできるタイミングは分単位で指定でき、月や年の決まった日付にSQLクエリを実行する事も可能です。
また設定した項目に関して、再設定、削除などの編集ももちろん可能です。
使い方
ではスケジュール実行を試してみましょう
今回はプロジェクト内の各テーブルの使用量を確認するクエリを書いていきます。
まずBigQueryのエディタを開きます
次にエディタにクエリを書いていきます
今回は以下のクエリ文を使用します
SELECT
table_catalog,
table_schema,
table_name,
total_rows,
total_billable_bytes,
CURRENT_DATE AS date
FROM `dt_portal.INFORMATION_SCHEMA.PARTITIONS`;
クエリ文を書いたら、画面上部の「実行」をクリックします
「クエリ結果」が表示されることを確認します
クエリ結果を確認したら、画面上部の「保存」を選択し「クエリを保存」をクリックします
適当な名前を入力して「保存」を選択します。
この名前は後で使うのでメモしておきましょう
「スケジュール」を選択し「スケジュールされたクエリを新規作成」をクリックします。
画面右側に「新たなスケジュールされたクエリ」が表示されることを確認します
「詳細とスケジュール」にクエリの名前を入力します
「スケジュールオプション」で実行スケジュールを記入します(今回は15分で設定します)
※任意の時刻に開始と終了日を設定する事が可能です。
※カスタムスケジュールの書式についてはこちらを参照
「クエリ結果」の書き込み先を指定します
「宛先テーブルの書き込み設定」を選択する
※データロケーションについては今回は設定しません
全て記入し、「設定は有効です」の文言を確認したら「保存」を選択します
最後に「スケジュールされたクエリ」で実行が確認出来たら完了となります
まとめ
BigQueryのスケジュールされたクエリによって、簡易なスケジュール実行が可能となります。
BigQueryを触ったことのない人でも簡単に実行できるので是非お試しください