システム プロシージャ リファレンス
BigQuery は以下のシステム プロシージャをサポートしています。これらのシステム プロシージャは、ユーザーが作成したストアド プロシージャと同様に使用できます。
BQ.ABORT_SESSION
構文
CALL BQ.ABORT_SESSION([session_id]);
説明
現在のセッションを終了します。
必要に応じてセッション ID を指定できます。セッション ID を指定すると、そのセッションからシステム プロシージャが呼び出されない場合にセッションを終了できます。
詳細については、セッションを終了するをご覧ください。
BQ.JOBS.CANCEL
構文
CALL BQ.JOBS.CANCEL(job);
説明
実行中のジョブをキャンセルします。
ジョブを '[project_id.]job_id'
形式の文字列として指定します。ジョブとは異なるプロジェクトからこのシステム プロシージャを実行する場合は、プロジェクト ID を含める必要があります。このプロシージャは、ジョブと同じリージョンで実行する必要があります。
詳細については、ジョブをキャンセルするをご覧ください。
BQ.REFRESH_EXTERNAL_METADATA_CACHE
構文
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE(table_name [, [subdirectory_uri, …]]);
説明
BigLake テーブルまたはオブジェクト テーブルのメタデータ キャッシュを更新します。このプロシージャは、メタデータ キャッシュ モードが AUTOMATIC
に設定されているテーブルに対して実行すると失敗します。
このシステム プロシージャを実行するには、bigquery.tables.update
権限と bigquery.tables.updateData
権限が必要です。
テーブルの名前を '[project_id.]dataset.table'
形式の文字列として指定します。テーブルとは異なるプロジェクトからこのシステム プロシージャを実行する場合は、プロジェクト ID を含める必要があります。
BigLake テーブルの場合、Cloud Storage のテーブルデータ ディレクトリの 1 つ以上のサブディレクトリを 'gs://table_data_directory/subdirectory/.../'
の形式で指定できます。これにより、これらのサブディレクトリのテーブル メタデータのみを更新し、不要なメタデータ処理を回避できます。
例
テーブルのメタデータをすべて更新するには:
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table')
BigLake テーブルのメタデータを選択的に更新するには:
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table', ['gs://source/uri/sub/path/d1/*', 'gs://source/uri/sub/path/d2/*'])
制約事項
外部データセットに関してリンクされたデータセットから参照されるテーブルでは、メタデータ キャッシュの更新はサポートされていません。
BQ.REFRESH_MATERIALIZED_VIEW
構文
CALL BQ.REFRESH_MATERIALIZED_VIEW(view_name);
説明
マテリアライズド ビューを更新します。
マテリアライズド ビューの名前を '[project_id.]dataset.table'
形式の文字列として指定します。マテリアライズド ビューとは異なるプロジェクトからこのシステム プロシージャを実行する場合は、プロジェクト ID を含める必要があります。
詳細については、手動更新をご覧ください。