Riferimento alle procedure di sistema
BigQuery supporta le seguenti procedure di sistema, che possono essere utilizzate in modo simile alle stored procedure create dall'utente.
BQ.ABORT_SESSION
Sintassi
CALL BQ.ABORT_SESSION([session_id]);
Descrizione
Termina la sessione corrente.
Puoi specificare facoltativamente l'ID sessione, che ti consente di terminare una sessione se la procedura di sistema non viene chiamata da quella sessione.
Per saperne di più, consulta la sezione Terminare le sessioni.
BQ.JOBS.CANCEL
Sintassi
CALL BQ.JOBS.CANCEL(job);
Descrizione
Annulla un job in esecuzione.
Specifica il job come stringa nel formato '[project_id.]job_id'. Se esegui
questa procedura di sistema da un progetto diverso da quello del job, devi
includere l'ID progetto. Devi eseguire la procedura nella stessa località del
job.
Per saperne di più, consulta la sezione Annullare un job.
BQ.CANCEL_INDEX_ALTERATION
Sintassi
CALL BQ.CANCEL_INDEX_ALTERATION(table_name, index_name);
Descrizione
Annulla una ricompilazione di un indice vettoriale avviata dall'utente.
Specifica il nome della tabella come stringa nel formato
'[project_id.]dataset.table' e il nome dell'indice come stringa.
Se esegui questa procedura di sistema da un progetto diverso dalla tabella, devi includere l'ID progetto.
Devi eseguire questa procedura nella stessa posizione della tabella indicizzata. Per impostare la posizione della query, consulta Specificare le località.
Esempio
CALL BQ.CANCEL_INDEX_ALTERATION('my_project.my_dataset.indexed_table', 'my_index');
BQ.REFRESH_EXTERNAL_METADATA_CACHE
Sintassi
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE(table_name [, [subdirectory_uri, …]]);
Descrizione
Aggiorna la cache dei metadati di una tabella Google Cloud Lakehouse o di una tabella di oggetti.
Questa procedura non va a buon fine se la esegui su una tabella con la modalità di memorizzazione nella cache dei metadati impostata su AUTOMATIC.
Per eseguire questa procedura di sistema, devi disporre delle autorizzazioni bigquery.tables.update e
bigquery.tables.updateData.
Specifica il nome della tabella come stringa nel formato
'[project_id.]dataset.table'. Se esegui questa procedura di sistema da un progetto diverso dalla tabella, devi includere l'ID progetto.
Per le tabelle Lakehouse, puoi specificare facoltativamente una o più sottodirectory della directory dei dati della tabella in Cloud Storage nel formato 'gs://table_data_directory/subdirectory/.../'.
In questo modo, puoi aggiornare solo i metadati della tabella da queste sottodirectory ed
evitare l'elaborazione non necessaria dei metadati.
Esempi
Per aggiornare tutti i metadati di una tabella:
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table')
Per aggiornare selettivamente i metadati di una tabella Lakehouse:
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table', ['gs://source/uri/sub/path/d1/*', 'gs://source/uri/sub/path/d2/*'])
Limitazione
- L'aggiornamento della cache dei metadati non è supportato per le tabelle a cui fanno riferimento i set di dati collegati nei set di dati esterni.
- L'aggiornamento della cache dei metadati non deve essere utilizzato in una transazione con più estratti conto.
BQ.REFRESH_MATERIALIZED_VIEW
Sintassi
CALL BQ.REFRESH_MATERIALIZED_VIEW(view_name);
Descrizione
Aggiorna una vista materializzata.
Specifica il nome della vista materializzata come stringa nel formato
'[project_id.]dataset.table'. Se esegui questa procedura di sistema da un progetto diverso dalla vista materializzata, devi includere l'ID progetto.
Per ulteriori informazioni, vedi Aggiornamento manuale.
BQ.SHOW_GRAPH_EXPAND_SCHEMA
Sintassi
CALL BQ.SHOW_GRAPH_EXPAND_SCHEMA(graph_name, output_schema);
Descrizione
Compila la variabile output_schema che fornisci con lo schema della tabella restituita chiamando la funzione definita dalla tabella GRAPH_EXPAND su graph_name.
Specifica il nome del grafico come stringa con
il formato
'[project_id.]dataset.graph'. Ogni colonna restituita dalla funzione definita dalla tabella GRAPH_EXPAND
rappresenta una proprietà nel grafico. L'output include il nome,
il tipo e la modalità per ogni colonna. Se la proprietà
ha una descrizione o dei sinonimi definiti, questi vengono visualizzati in un
campo description per la colonna. Se la proprietà definisce una misura, l'output include "is_measure":true per quel campo.
Esempi
DECLARE schema STRING; CALL BQ.SHOW_GRAPH_EXPAND_SCHEMA('my_project.my_dataset.my_graph', schema); SELECT schema;
L'output è simile al seguente:
{
"fields":[
{
"name":"Department_dept_name",
"type":"STRING",
"mode":"NULLABLE",
"description":
"{\"description\":\"The name of the academic department\",
\"synonyms\":[\"division\"]}"
},
{
"name":"Department_budget",
"type":"FLOAT",
"mode":"NULLABLE"
},
{
"name":"Department_total_budget",
"type":"FLOAT",
"mode":"NULLABLE",
"is_measure":true
}
]
}