系統程序參考
BigQuery 支援下列系統程序,使用方式與使用者建立的預存程序類似。
BQ.ABORT_SESSION
語法
CALL BQ.ABORT_SESSION([session_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 中,以 '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。
詳情請參閱「手動重新整理」。