Riferimento per le 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 il 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 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 Annullare un job.

BQ.CANCEL_INDEX_ALTERATION

Sintassi

CALL BQ.CANCEL_INDEX_ALTERATION(table_name, index_name);

Descrizione

Annulla una modifica avviata dall'utente di un indice di ricerca o una ricostruzione di un indice vettoriale.

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 da quello della tabella, devi includere l'ID progetto.

Devi eseguire questa procedura nella stessa località della tabella indicizzata. Per impostare la località 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 BigLake o di una tabella degli oggetti. Questa procedura non riesce 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 da quello della tabella, devi includere l'ID progetto.

Per le tabelle BigLake, puoi specificare facoltativamente una o più sottodirectory della directory dei dati della tabella in Cloud Storage nel formato 'gs://table_data_directory/subdirectory/.../'. Affinché un aggiornamento selettivo funzioni correttamente, i parametri del percorso Cloud Storage devono includere un percorso specifico o un carattere jolly. Per saperne di più, consulta Supporto dei caratteri jolly per gli URI Cloud Storage. 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 in modo selettivo i metadati di una tabella BigLake:

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 su set di dati esterni.
  • L'aggiornamento della cache dei metadati non deve essere utilizzato in una transazione con più istruzioni.

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 da quello della vista materializzata, devi includere l'ID progetto.

Per saperne di più, consulta Aggiornamento manuale.

BQ.SHOW_GRAPH_EXPAND_SCHEMA

Sintassi

CALL BQ.SHOW_GRAPH_EXPAND_SCHEMA(graph_name, output_schema);

Descrizione

Popola la variabile output_schema che fornisci con lo schema della tabella restituita dalla chiamata alla GRAPH_EXPAND TVF su graph_name.

Specifica il nome del grafico come stringa nel formato '[project_id.]dataset.graph'. Ogni colonna restituita dalla TVF GRAPH_EXPAND rappresenta una proprietà nel grafico. L'output include il nome, il tipo e la modalità di 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, allora 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
    }
  ]
}