En este documento, se muestra cómo hacer lo siguiente:
- Definir una instrucción de SQL para que se ejecute antes de la creación de la tabla.
- Definir una instrucción de SQL para que se ejecute después de la creación de la tabla.
- Inhabilitar la creación de tablas.
- Agregar etiquetas de ejecución.
Antes de comenzar
En la Google Cloud consola de, ve a la página Dataform.
Selecciona o crea un repositorio.
Selecciona o crea un lugar de trabajo de desarrollo.
Define un archivo SQLX de cualquiera de los siguientes tipos:
Roles obligatorios
Para obtener los permisos que
necesitas para completar las tareas de este documento,
pídele a tu administrador que te otorgue el
Editor de Dataform (roles/dataform.editor)
rol de IAM en los lugares de trabajo.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Define una instrucción de SQL para que se ejecute antes de la creación de la tabla
Puedes configurar Dataform para que ejecute una o más instrucciones de SQL antes de crear una tabla seleccionada en BigQuery. Para ejecutar una instrucción de SQL antes de que Dataform cree una tabla seleccionada, agrega tu instrucción al bloque pre_operations en el archivo SQLX de definición de tablas.
Para crear una instrucción de SQL personalizada que se ejecute antes de que Dataform cree una tabla específica, sigue estos pasos:
- Ve a tu lugar de trabajo de desarrollo.
- En el panel Archivos, expande
definitions/. - Abre un archivo SQLX de definición de tablas.
- Fuera del bloque
config, ingresapre_operations { ... }. - Dentro de
pre_operations { ... }, agrega tu instrucción de SQL. - Opcional: Para agregar varias instrucciones, sepáralas con
---. - Opcional: Haz clic en Formato.
En la siguiente muestra de código, se muestra una instrucción pre_operations que crea una función temporal que se puede usar en la instrucción select:
pre_operations {
CREATE TEMP FUNCTION AddFourAndDivide(x INT64, y INT64)
RETURNS FLOAT64
AS ((x + 4) / y);
}
Define una instrucción de SQL para que se ejecute después de la creación de la tabla
Puedes configurar Dataform para que ejecute una o más instrucciones de SQL después de crear una tabla seleccionada en BigQuery. Para ejecutar una instrucción de SQL después de que Dataform cree una tabla seleccionada, agrega tu sentencia al bloque post_operations en el archivo SQLX de definición de tablas. Puedes agregar varias instrucciones de SQL al bloque post_operations.
Para crear una instrucción de SQL personalizada que se ejecute después de que Dataform cree una tabla específica, sigue estos pasos:
- Ve a tu lugar de trabajo de desarrollo.
- En el panel Archivos, expande
definitions/. - Abre un archivo SQLX de definición de tablas.
- Fuera del bloque
config, ingresapost_operations { ... }. - Dentro de
post_operations { ... }, agrega tu instrucción de SQL. - Opcional: Haz clic en Formato.
En el siguiente muestra de código, se muestran instrucciones post_operations que otorgan acceso a grupos a la tabla creada:
post_operations {
GRANT `roles/bigquery.dataViewer`
ON
TABLE ${self()}
TO "group:allusers@example.com", "user:otheruser@example.com"
}
Inhabilita la creación de tablas
Para evitar que Dataform cree una tabla seleccionada en BigQuery, puedes inhabilitar la tabla en su archivo SQLX de definición de tablas. Dataform mantiene una tabla inhabilitada en el gráfico de dependencias, pero no la compila ni la crea. Esto puede ser útil, por ejemplo, si una tabla falla y no quieres que falle todo el flujo de trabajo mientras solucionas el problema.
Para inhabilitar una tabla, sigue estos pasos:
- Ve a tu lugar de trabajo de desarrollo.
- En el panel Archivos, expande
definitions/. - Selecciona un archivo SQLX de definición de tablas.
- En el bloque
configdel archivo, ingresadisabled: true. - Opcional: Haz clic en Formato.
En el siguiente muestra de código, se muestra una tabla inhabilitada:
config {
type: "table",
disabled: true
}
select * from ${ref("source_data")}
Agrega etiquetas de ejecución
En esta sección, se muestra cómo agregar etiquetas a los archivos SQLX principales de Dataform para categorizar tu flujo de trabajo.
Para organizar los componentes de tu flujo de trabajo en colecciones, puedes agregar etiquetas personalizadas a archivos SQLX de los siguientes tipos:
tableviewincrementalassertionoperations
Durante una ejecución del flujo de trabajo, puedes ejecutar solo archivos con una etiqueta seleccionada.
Con Managed Service for Apache Airflow o Workflows junto con Cloud Scheduler, puedes crear una programación que ejecute un flujo de trabajo de Dataform con una etiqueta seleccionada en un intervalo específico.
Agrega una etiqueta
Puedes agregar varias etiquetas a un archivo SQLX.
Para agregar una etiqueta a un archivo SQLX, sigue estos pasos:
- Ve a tu lugar de trabajo de desarrollo.
- En el panel Archivos, expande
definitions/. - Selecciona un archivo SQLX.
En el bloque
config, agrega una etiqueta con el siguiente formato:tags: ["CUSTOM_TAG"]Reemplaza
CUSTOM_TAGpor tu etiqueta.Opcional: Para agregar varias etiquetas, sepáralas con una coma (
,).Opcional: Haz clic en Formato.
En el siguiente muestra de código, se muestra la vista user_counts con las etiquetas daily y hourly:
config {
type: "view",
name: "user_counts",
tags: ["daily", "hourly"]
}
¿Qué sigue?
- Para obtener información sobre cómo configurar los parámetros de Dataform en
workflow_settings.yaml, consulta Configura los parámetros del flujo de trabajo de Dataform. - Para obtener información sobre cómo probar datos de tablas con aserciones, consulta Prueba la calidad de los datos.
- Para obtener información sobre cómo reutilizar código con includes, consulta Reutiliza código en un solo repositorio con includes.
- Para obtener información sobre cómo activar ejecuciones de forma manual, consulta Activa ejecuciones de forma manual.
- Para obtener información sobre cómo agregar etiquetas de política de BigQuery en Dataform, consulta Controla el acceso a las columnas.