本記事ではBigqueryで実際にスケジューリング設定を行う際に出てきた壁3つとその解決方法をお伝えします。
目次
はじめに
この記事はBigqueryでスケジューリング初心者である筆者が、実際にスケジューリング設定を行う際に出てきた壁とその解決方法をお伝えしたいと思います。 是非「Bigqueryでスケジューリング設定したいんだけど、なぜかエラーが止まらない」や「これからスケジューリング設定したいんだけど、どんなところを気をつけたら良いの?」と思われている方は最後まで読んでみてください。1. 時間設定は自分の国の時間とUTC時間が必要
初歩的な部分ではありますが、意外とここでつまづくかもしれません。筆者は最初どちらも自分の国の時間を設定していました。
しかもエラーが出ずにそのままスケジューリング設定ができてしまうので、「設定した時間にスケジューリングが実行されない」ことに気付きにくいです。そのためこの記事を読んだ方は初めから時間の設定は正しく行いましょう。
上のUTCとは世界基準の時間であり、イギリスの時間(※サマータイムを除く)と一致しています。つまり、基本的には「日本時間ー9時間」がUTCとなり、上の図であれば日本時間14:30にスケジューリング実行を行う場合、上枠の「時刻」にはUTCの05:30(14:30の9時間前)を、開始日と実行時間はJST(日本時間)でスケジューリング実行を開始したい時間を設定しましょう。
2. スケジューリング保存時に”Not found dataset in location XX”というエラーが出た時
このエラーが出たとき、筆者はデータセットのlocationがUSになってしまっており、「東京(リージョン名は”asia-northeast1”)と設定されていないのが問題なのかも」と考えておりました。しかしこのエラーはdatasetの位置する国について言及しているものでもなく、このXXには大きな意味はあまりなさそうです。 このエラーはテーブルの格納場所について言っています。スケジューリングするコードでCREATEしていない場合、スケジューリング時に「クエリ結果の書き込み先」を指定すると思います。この時書き込み先を正しく指定できないと上記のようなエラーが出ます。
ここでデータセットを
– 既存のデータセットを正しく指定する
– 新しく作成する
このどちらかを正しく行うと、上記のようなエラーは消えました!

