Referenz zu Systemprozeduren

BigQuery unterstützt die folgenden Systemprozeduren, die ähnlich wie vom Nutzer erstellte gespeicherte Prozeduren verwendet werden können.

BQ.ABORT_SESSION

Syntax

CALL BQ.ABORT_SESSION([session_id]);

Beschreibung

Beendet Ihre aktuelle Sitzung.

Optional können Sie die Sitzungs-ID angeben. So können Sie eine Sitzung beenden, wenn die Systemprozedur nicht über diese Sitzung aufgerufen wird.

Weitere Informationen finden Sie unter Sitzungen beenden.

BQ.JOBS.CANCEL

Syntax

CALL BQ.JOBS.CANCEL(job);

Beschreibung

Bricht einen laufenden Job ab

Geben Sie den Job als String im Format '[project_id.]job_id' an. Wenn Sie dieses Systemverfahren von einem anderen Projekt als dem Job aus ausführen, müssen Sie die Projekt-ID angeben. Die Prozedur muss am selben Ort wie der Job ausgeführt werden.

Weitere Informationen erhalten Sie auch unter Job abbrechen.

BQ.CANCEL_INDEX_ALTERATION

Syntax

CALL BQ.CANCEL_INDEX_ALTERATION(table_name, index_name);

Beschreibung

Bricht einen vom Nutzer initiierten Neuaufbau eines Vektorindex ab.

Geben Sie den Namen der Tabelle als String im Format '[project_id.]dataset.table' und den Indexnamen als String an. Wenn Sie dieses Systemverfahren von einem anderen Projekt als der Tabelle aus ausführen, müssen Sie die Projekt-ID angeben.

Sie müssen diese Prozedur am selben Ort wie die indexierte Tabelle ausführen. Informationen zum Festlegen des Standorts für Ihre Anfrage finden Sie unter Standorte angeben.

Beispiel

CALL BQ.CANCEL_INDEX_ALTERATION('my_project.my_dataset.indexed_table', 'my_index');

BQ.REFRESH_EXTERNAL_METADATA_CACHE

Syntax

CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE(table_name [, [subdirectory_uri, ]]);

Beschreibung

Aktualisiert den Metadaten-Cache einer Google Cloud Lakehouse-Tabelle oder einer Objekttabelle. Dieser Vorgang schlägt fehl, wenn Sie ihn für eine Tabelle ausführen, deren Metadaten-Caching-Modus auf AUTOMATIC gesetzt ist.

Zum Ausführen dieses Systemverfahrens benötigen Sie die Berechtigungen bigquery.tables.update und bigquery.tables.updateData.

Geben Sie den Namen der Tabelle als String im Format '[project_id.]dataset.table' an. Wenn Sie dieses Systemverfahren von einem anderen Projekt als der Tabelle aus ausführen, müssen Sie die Projekt-ID angeben.

Für Lakehouse-Tabellen können Sie optional ein oder mehrere Unterverzeichnisse des Tabellendatenverzeichnisses in Cloud Storage im Format 'gs://table_data_directory/subdirectory/.../' angeben. So können Sie nur die Tabellenmetadaten aus diesen Unterverzeichnissen aktualisieren und unnötige Metadatenverarbeitung vermeiden.

Beispiele

So aktualisieren Sie alle Metadaten für eine Tabelle:

CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table')

So aktualisieren Sie die Metadaten für eine Lakehouse-Tabelle selektiv:

CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table', ['gs://source/uri/sub/path/d1/*', 'gs://source/uri/sub/path/d2/*'])

Beschränkung

  • Die Aktualisierung des Metadaten-Cache wird für Tabellen, auf die von verknüpften Datasets über externe Datasets verwiesen wird, nicht unterstützt.
  • Die Aktualisierung des Metadaten-Cache sollte nicht in einer Transaktion mit mehreren Anweisungen verwendet werden.

BQ.REFRESH_MATERIALIZED_VIEW

Syntax

CALL BQ.REFRESH_MATERIALIZED_VIEW(view_name);

Beschreibung

Aktualisiert eine materialisierte Ansicht.

Geben Sie den Namen der materialisierten Ansicht als String im Format '[project_id.]dataset.table' an. Wenn Sie dieses Systemverfahren von einem anderen Projekt als der materialisierten Ansicht ausführen, müssen Sie die Projekt-ID angeben.

Weitere Informationen finden Sie unter Manuelle Aktualisierung.

BQ.SHOW_GRAPH_EXPAND_SCHEMA

Syntax

CALL BQ.SHOW_GRAPH_EXPAND_SCHEMA(graph_name, output_schema);

Beschreibung

Füllt die von Ihnen bereitgestellte Variable output_schema mit dem Schema der Tabelle, die durch Aufrufen der GRAPH_EXPAND-TVF für graph_name zurückgegeben wird.

Geben Sie den Namen des Diagramms als String im Format '[project_id.]dataset.graph' an. Jede Spalte, die von der GRAPH_EXPAND-TVF zurückgegeben wird, wird als Attribut im Diagramm dargestellt. Die Ausgabe enthält den Namen, den Typ und den Modus für jede Spalte. Wenn für die Property eine Beschreibung oder Synonyme definiert sind, werden diese in einem description-Feld für die Spalte angezeigt. Wenn für die Property eine Messung definiert ist, enthält die Ausgabe "is_measure":true für dieses Feld.

Beispiele

DECLARE schema STRING;
CALL BQ.SHOW_GRAPH_EXPAND_SCHEMA('my_project.my_dataset.my_graph', schema);
SELECT schema;

Die Ausgabe sieht dann ungefähr so aus:

{
  "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
    }
  ]
}