Gestire le routine
In BigQuery, le routine sono un tipo di risorsa che include quanto segue:
- Stored procedure.
- 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 disporre dell'autorizzazione bigquery.routines.get
sul set di dati che la contiene.
Per impostazione predefinita, devi disporre anche dell'autorizzazione per accedere a qualsiasi risorsa a cui fa riferimento la routine, ad esempio tabelle o viste. Per le funzioni UDF e di tabella, puoi autorizzare la funzione ad accedere a queste risorse per conto dell'utente che effettua la chiamata. 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 una risorsa Routine
definita.
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 una query sulla visualizzazione INFORMATION_SCHEMA.ROUTINES
:
Nella console Google Cloud, vai alla pagina BigQuery Studio.
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 separato da virgole delle colonne della
visualizzazione
INFORMATION_SCHEMA.ROUTINES
. - DATASET: il nome di un set di dati nel 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 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
della
visualizzazione INFORMATION_SCHEMA.ROUTINES
:
Nella console Google Cloud, vai alla pagina BigQuery Studio.
Nell'editor di 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 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 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 progetto.
- ROUTINE_NAME: il nome della routine.
Esempio:
bq rm --routine mydataset.AddFourAndDivide
API
Chiama il metodo routines.delete
con l'ID set di dati e il nome della routine.