
BigQuery レガシーSQLを使用しているジョブを洗い出す
・2025年8月1日から、GoogleSQLがBigQueryのデフォルト言語になる
・レガシーSQLを引き続き使う場合、明示的に指定する必要がある
・まずは、レガシーSQLを使用しているジョブを洗い出し、対応要否の確認を
2025年8月1日から、GoogleSQLがBigQueryのデフォルト言語になることがGoogleより発表されました。
今後も、レガシーSQLを使う場合、オプション等で明示的に指定する必要があります。
レガシーSQLを使用しているケースはあまりないと思いますが、BigQueryで簡単に確認できます。
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS[_BY_PROJECT]
この構文を使います。
レガシーSQLを使っているジョブを洗い出す
BigQueryをひらき、クエリに上記SQLをコピー&ペーストします。
プロジェクトIDと、リージョンをコピーして、上記SQLにペーストします。

プロジェクトIDの確認方法
BigQueryの左上「Google Cloud」をクリック

ここにあります
SQLを実行する
select構文をつけて、実行します。
例 プロジェクトIDがaaa リージョンがUSの場合
select * from `aaa.region-US.INFORMATION_SCHEMA.JOBS`;
実行すると、直近で実行したジョブ一覧が表示されます。
複数のクライアント様で確認したところ、おおむね半年程度のジョブが見れるようです。
次に、このジョブから、レガシーSQLのジョブを洗い出します。
先ほどの構文を、WHERE条件でGOOGLE_SQL以外(=レガシーSQL)に絞ります。
select * from `aaa.region-US.INFORMATION_SCHEMA.JOBS`
where query_dialect <> "GOOGLE_SQL";
以下のような結果にばれば、レガシーSQLは使っていません。
対応不要です。

同様の手順で、US以外のリージョンもチェックします。
例えば、asia-northeast1をご利用の場合、以下のように実行します。
select * from `aaa.region-asia-northeast1.INFORMATION_SCHEMA.JOBS`
where query_dialect <> "GOOGLE_SQL";
BigQueryのデータセットがUSのみの場合、チェック不要です。
Google Cloud開発お承ります
datacompanyでは、お客様のご予算・環境に応じたクラウド開発を承ります。
お困りごとがございましたら是非ご相談ください。