Administra rutinas
En BigQuery, las rutinas son un tipo de recurso que incluye lo siguiente:
- Procedimientos almacenados.
- Funciones definidas por el usuario (UDF), incluidas las funciones remotas.
- Funciones de tabla.
En este documento, se describen tareas comunes de todos los tipos de rutinas en BigQuery.
Permisos
Para ejecutar una rutina, debes tener el permiso bigquery.routines.get
en el conjunto de datos que contiene la rutina.
De forma predeterminada, también necesitas permiso para acceder a cualquier recurso al que haga referencia la rutina, como tablas o vistas. Para las UDF y las funciones de tabla, puedes autorizar la función para que acceda a esos recursos en nombre del emisor. Para obtener más información, consulta Funciones autorizadas.
Crear una rutina
Para crear una rutina, debes tener el permiso bigquery.routines.create
.
SQL
Según el tipo de rutina, ejecuta una de las siguientes declaraciones DDL:
API
Realiza una llamada al método routines.insert
con un recurso Routine
definido.
Enumerar rutinas
Para enumerar las rutinas en un conjunto de datos, debes tener los permisos bigquery.routines.get
y bigquery.routines.list
.
Console
En la consola de Google Cloud, abre la página de BigQuery.
En el panel Explorer, expande tu proyecto y selecciona un conjunto de datos.
Expande la lista Rutinas.
SQL
Consulta la vista INFORMATION_SCHEMA.ROUTINES
.
En la consola de Google Cloud, ve a la página de BigQuery.
En el editor de consultas, escribe la siguiente sentencia:
SELECT COLUMN_LIST FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;
Haz clic en
Ejecutar.
Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.
Reemplaza lo siguiente:
- COLUMN_LIST: Es una lista de columnas separadas por comas de la vista
INFORMATION_SCHEMA.ROUTINES
. - DATASET: el nombre de un conjunto de datos en tu proyecto.
- REGION: un calificador de región.
Ejemplo:
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
Usa el comando bq ls
con la marca --routines
:
bq ls --routines DATASET
Reemplaza lo siguiente:
- DATASET: el nombre de un conjunto de datos en tu proyecto.
Ejemplo:
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
Llama al método routines.list
con el ID del conjunto de datos.
Ve el cuerpo de una rutina
Para ver el cuerpo de una rutina, debes tener el permiso bigquery.routines.get
.
Console
En la consola de Google Cloud, abre la página de BigQuery.
En el panel Explorer, expande tu proyecto y selecciona un conjunto de datos.
Expande la lista Rutinas.
Selecciona la rutina. El cuerpo de la rutina se muestra en Consulta de la rutina.
SQL
Selecciona la columna routine_definition
de la vista INFORMATION_SCHEMA.ROUTINES
.
En la consola de Google Cloud, ve a la página de BigQuery.
En el editor de consultas, escribe la siguiente sentencia:
SELECT routine_definition FROM { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = ROUTINE_NAME;
Haz clic en
Ejecutar.
Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.
Reemplaza lo siguiente:
- DATASET: el nombre de un conjunto de datos en tu proyecto.
- REGION: un calificador de región.
- ROUTINE_NAME: el nombre de la rutina.
Ejemplo:
SELECT routine_definition FROM mydataset.INFORMATION_SCHEMA.ROUTINES WHERE routine_name = 'AddFourAndDivide';
+--------------------+
| routine_definition |
+--------------------+
| (x + 4) / y |
+--------------------+
bq
Usa el comando bq show
con la marca --routine
:
bq show --routine DATASET.ROUTINE_NAME
Reemplaza lo siguiente:
- DATASET: el nombre de un conjunto de datos en tu proyecto.
- ROUTINE_NAME: el nombre de la rutina.
Ejemplo:
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
Llama al método routines.get
con el ID del conjunto de datos y el nombre de la rutina. El cuerpo de la rutina se muestra en el objeto Routine
.
Borrar una rutina
Para borrar una rutina, debes tener el permiso bigquery.routines.delete
.
Console
En la consola de Google Cloud, abre la página de BigQuery.
En el panel Explorer, expande tu proyecto y selecciona un conjunto de datos.
Expande la lista Rutinas.
Selecciona la rutina.
Expande la opción Acciones
y haz clic en Borrar.Escribe
"delete"
en el diálogo y haz clic en Borrar para confirmar.
SQL
Según el tipo de rutina, ejecuta una de las siguientes declaraciones DDL:
- Procedimiento almacenado:
DROP PROCEDURE
- Función definida por el usuario:
DROP FUNCTION
- Función de tabla:
DROP TABLE FUNCTION
Ejemplo:
DROP FUNCTION IF EXISTS mydataset.AddFourAndDivide
bq
Usa el comando bq rm
con la marca --routine
:
bq rm --routine DATASET.ROUTINE_NAME
Reemplaza lo siguiente:
- DATASET: el nombre de un conjunto de datos en tu proyecto.
- ROUTINE_NAME: el nombre de la rutina.
Ejemplo:
bq rm --routine mydataset.AddFourAndDivide
API
Llama al método routines.delete
con el ID del conjunto de datos y el nombre de la rutina.