Routinen verwalten
In BigQuery sind routines ein Ressourcentyp, der Folgendes enthält:
- Gespeicherte Prozeduren.
- Benutzerdefinierte Funktionen (UDFs), einschließlich Remote-Funktionen.
- Tabellenfunktionen.
In diesem Dokument werden Aufgaben beschrieben, die für alle Routinetypen in BigQuery üblich sind.
Berechtigungen
Zum Ausführen einer Routine benötigen Sie die Berechtigung bigquery.routines.get
für das Dataset, das die Routine enthält.
Standardmäßig benötigen Sie auch die Berechtigung für den Zugriff auf alle Ressourcen, auf die die Routine verweist, z. B. auf Tabellen oder Ansichten. Für UDFs und Tabellenfunktionen können Sie die Funktion autorisieren, im Namen des Aufrufers auf diese Ressourcen zuzugreifen. Weitere Informationen finden Sie unter Autorisierte Funktionen.
Routine erstellen
Zum Erstellen einer Routine benötigen Sie die Berechtigung bigquery.routines.create
.
SQL
Führen Sie je nach Routinetyp eine der folgenden DDL-Anweisungen aus:
API
Rufen Sie die Methode routines.insert
mit einer definierten Routine
-Ressource auf.
Routinen auflisten
Zum Auflisten der Routinen in einem Dataset benötigen Sie die Berechtigungen bigquery.routines.get
und bigquery.routines.list
.
Console
Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.
Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.
Maximieren Sie die Liste Routinen.
SQL
Fragen Sie die Ansicht INFORMATION_SCHEMA.ROUTINES
ab.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
SELECT COLUMN_LIST FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
Ersetzen Sie Folgendes:
- COLUMN_LIST: Eine durch Kommas getrennte Liste von Spalten aus der Ansicht
INFORMATION_SCHEMA.ROUTINES
. - DATASET: Der Name eines Datasets in Ihrem Projekt.
- REGION: Ein Regions-Qualifier.
Beispiel:
SELECT routine_name, routine_type, routine_body FROM mydataset.INFORMATION_SCHEMA.ROUTINES;
+------------------+----------------+--------------+
| routine_name | routine_type | routine_body |
+------------------+----------------+--------------+
| AddFourAndDivide | FUNCTION | SQL |
| create_customer | PROCEDURE | SQL |
| names_by_year | TABLE FUNCTION | SQL |
+------------------+----------------+--------------+
bq
Führen Sie den Befehl bq ls
mit dem Flag --routines
aus:
bq ls --routines DATASET
Dabei gilt:
- DATASET: Der Name eines Datasets in Ihrem Projekt.
Beispiel:
bq ls --routines mydataset
Id Routine Type Language Creation Time Last Modified Time
------------------ ----------------------- ---------- ----------------- --------------------
AddFourAndDivide SCALAR_FUNCTION SQL 05 May 01:12:03 05 May 01:12:03
create_customer PROCEDURE SQL 21 Apr 19:55:51 21 Apr 19:55:51
names_by_year TABLE_VALUED_FUNCTION SQL 01 Sep 22:59:17 01 Sep 22:59:17
API
Rufen Sie die Methode routines.list
mit der Dataset-ID auf.
Text einer Routine ansehen
Zum Aufrufen des Texts einer Routine benötigen Sie die Berechtigung bigquery.routines.get
.
Console
Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.
Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.
Maximieren Sie die Liste Routinen.
Wählen Sie die Routine aus. Der Text der Routine ist unter Routineabfrage aufgeführt.
SQL
Wählen Sie in der Ansicht INFORMATION_SCHEMA.ROUTINES
die Spalte routine_definition
aus.
Öffnen Sie in der Google Cloud Console die Seite BigQuery.
Geben Sie im Abfrageeditor die folgende Anweisung ein:
SELECT routine_definition FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = ROUTINE_NAME;
Klicken Sie auf
Ausführen.
Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.
Ersetzen Sie Folgendes:
- DATASET: Der Name eines Datasets in Ihrem Projekt.
- REGION: Ein Regions-Qualifier.
- ROUTINE_NAME: Der Name der Routine
Beispiel:
SELECT routine_definition FROM mydataset.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'AddFourAndDivide';
+--------------------+
| routine_definition |
+--------------------+
| (x + 4) / y |
+--------------------+
bq
Führen Sie den Befehl bq show
mit dem Flag --routine
aus:
bq show --routine DATASET.ROUTINE_NAME
Dabei gilt:
- DATASET: Der Name eines Datasets in Ihrem Projekt.
- ROUTINE_NAME: Der Name der Routine
Beispiel:
bq show --routine mydataset.AddFourAndDivide
Id Routine Type Language Signature Definition Creation Time Last Modified Time
------------------ ----------------- ---------- ------------------------------- ------------- ----------------- --------------------
AddFourAndDivide SCALAR_FUNCTION SQL (x INT64, y INT64) -> FLOAT64 (x + 4) / y 05 May 01:12:03 05 May 01:12:03
API
Rufen Sie die Methode routines.get
mit der Dataset-ID und dem Namen der Routine auf. Der Text der Routine wird im Objekt Routine
zurückgegeben.
Routine löschen
Zum Löschen einer Routine benötigen Sie die Berechtigung bigquery.routines.delete
.
Console
Öffnen Sie in der Google Cloud Console die Seite „BigQuery“.
Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.
Maximieren Sie die Liste Routinen.
Wählen Sie die Routine aus.
Maximieren Sie die Option
Aktionen und klicken Sie auf Löschen.Geben Sie
"delete"
in das Dialogfeld ein und klicken Sie zur Bestätigung auf Löschen.
SQL
Führen Sie je nach Routinetyp eine der folgenden DDL-Anweisungen aus:
- Gespeicherte Prozedur:
DROP PROCEDURE
- Benutzerdefinierte Funktion:
DROP FUNCTION
- Tabellenfunktion:
DROP TABLE FUNCTION
Beispiel:
DROP FUNCTION IF EXISTS mydataset.AddFourAndDivide
bq
Führen Sie den Befehl bq rm
mit dem Flag --routine
aus:
bq rm --routine DATASET.ROUTINE_NAME
Dabei gilt:
- DATASET: Der Name eines Datasets in Ihrem Projekt.
- ROUTINE_NAME: Der Name der Routine
Beispiel:
bq rm --routine mydataset.AddFourAndDivide
API
Rufen Sie die Methode routines.delete
mit der Dataset-ID und dem Namen der Routine auf.