Administra rutinas

En BigQuery, las rutinas son un tipo de recurso que incluye lo siguiente:

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

  1. En la consola de Google Cloud, abre la página de BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.

  3. Expande la lista Rutinas.

SQL

Consulta la vista INFORMATION_SCHEMA.ROUTINES.

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente sentencia:

    SELECT
      COLUMN_LIST
    FROM
       { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES;
    

  3. Haz clic en Ejecutar.

Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.

Reemplaza lo siguiente:

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

  1. En la consola de Google Cloud, abre la página de BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.

  3. Expande la lista Rutinas.

  4. 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.

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente sentencia:

    SELECT
      routine_definition
    FROM
      { DATASET | REGION }.INFORMATION_SCHEMA.ROUTINES
    WHERE
      routine_name = ROUTINE_NAME;
    

  3. 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

  1. En la consola de Google Cloud, abre la página de BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, expande tu proyecto y selecciona un conjunto de datos.

  3. Expande la lista Rutinas.

  4. Selecciona la rutina.

  5. Expande la opción Acciones y haz clic en Borrar.

  6. 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:

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.