Gestisci routine
In BigQuery, le routine sono un tipo di risorsa che include quanto segue:
- Procedure memorizzate.
- Funzioni definite dall'utente (UDF), incluse funzioni remote.
- Funzioni di tabelle.
Questo documento descrive le attività comuni a tutti i tipi di routine in BigQuery.
Autorizzazioni
Per eseguire una routine, devi avere l'autorizzazione bigquery.routines.get
attiva
il set di dati che contiene la routine.
Per impostazione predefinita, devi disporre anche dell'autorizzazione per accedere a tutte le risorse a cui fa riferimento la routine, ad esempio tabelle o viste. Per le funzioni definite dall'utente e le funzioni tabella, puoi autorizzare la funzione ad accedere a quelle risorse per conto del chiamante. Per maggiori informazioni, consulta Funzioni autorizzate.
Creare una routine
Per creare una routine, devi disporre dell'autorizzazione bigquery.routines.create
.
SQL
A seconda del tipo di routine, esegui una delle seguenti istruzioni DDL:
API
Chiama il metodo routines.insert
con un insieme di parametri
Routine
risorsa.
Elenco delle routine
Per elencare le routine in un set di dati, devi disporre delle autorizzazioni bigquery.routines.get
e
bigquery.routines.list
.
Console
Nella console Google Cloud, apri la pagina BigQuery.
Nel riquadro Spazio di esplorazione, espandi il progetto e seleziona un set di dati.
Espandi l'elenco Routine.
SQL
Esegui la query sulla vista INFORMATION_SCHEMA.ROUTINES
:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor di query, inserisci la seguente istruzione:
SELECT COLUMN_LIST FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire query, consulta Eseguire una query interattiva.
Sostituisci quanto segue:
- COLUMN_LIST: un elenco di colonne separate da virgole del
INFORMATION_SCHEMA.ROUTINES
visualizzazione. - DATASET: il nome di un set di dati nel tuo progetto.
- REGION: un qualificatore di regione.
Esempio:
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
Utilizza il comando bq ls
con il flag --routines
:
bq ls --routines DATASET
Sostituisci quanto segue:
- DATASET: il nome di un set di dati nel tuo progetto.
Esempio:
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
Chiama il metodo routines.list
con l'ID del set di dati.
Visualizzare il corpo di una routine
Per visualizzare il corpo di una routine, devi disporre dell'autorizzazione bigquery.routines.get
.
Console
Nella console Google Cloud, apri la pagina BigQuery.
Nel riquadro Spazio di esplorazione, espandi il progetto e seleziona un set di dati.
Espandi l'elenco Routine.
Seleziona la routine. Il corpo della routine è elencato in Routine query.
SQL
Seleziona la colonna routine_definition
di
INFORMATION_SCHEMA.ROUTINES
visualizzazione:
Nella console Google Cloud, vai alla pagina BigQuery.
Nell'editor query, inserisci la seguente istruzione:
SELECT routine_definition FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = ROUTINE_NAME;
Fai clic su
Esegui.
Per ulteriori informazioni su come eseguire le query, consulta Eseguire una query interattiva.
Sostituisci quanto segue:
- DATASET: il nome di un set di dati nel progetto.
- REGION: un qualificatore di regione.
- ROUTINE_NAME: il nome della routine.
Esempio:
SELECT routine_definition FROM mydataset.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'AddFourAndDivide';
+--------------------+
| routine_definition |
+--------------------+
| (x + 4) / y |
+--------------------+
bq
Utilizza il comando bq show
con il flag --routine
:
bq show --routine DATASET.ROUTINE_NAME
Sostituisci quanto segue:
- DATASET: il nome di un set di dati nel tuo progetto.
- ROUTINE_NAME: il nome della routine.
Esempio:
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
Chiama il metodo routines.get
con l'ID set di dati e il nome della routine. Il corpo della
routine viene restituito nell'oggetto Routine
.
Eliminare una routine
Per eliminare una routine, devi disporre dell'autorizzazione bigquery.routines.delete
.
Console
Nella console Google Cloud, apri la pagina BigQuery.
Nel riquadro Spazio di esplorazione, espandi il progetto e seleziona un set di dati.
Espandi l'elenco Routine.
Seleziona la routine.
Espandi l'opzione
Azioni e fai clic su Elimina.Digita
"delete"
nella finestra di dialogo, quindi fai clic su Elimina per confermare.
SQL
A seconda del tipo di routine, esegui una delle seguenti istruzioni DDL:
- Stored procedure:
DROP PROCEDURE
- Funzione definita dall'utente:
DROP FUNCTION
- Funzione tabella:
DROP TABLE FUNCTION
Esempio:
DROP FUNCTION IF EXISTS mydataset.AddFourAndDivide
bq
Utilizza il comando bq rm
con il flag --routine
:
bq rm --routine DATASET.ROUTINE_NAME
Sostituisci quanto segue:
- DATASET: il nome di un set di dati nel tuo progetto.
- ROUTINE_NAME: il nome della routine.
Esempio:
bq rm --routine mydataset.AddFourAndDivide
API
Chiama il metodo routines.delete
con l'ID del set di dati e il nome della routine.