En este documento se explica cómo hacer lo siguiente:
- Define una instrucción SQL que se ejecutará antes de crear la tabla.
- Define una instrucción SQL que se ejecutará después de crear la tabla.
- Inhabilita la creación de tablas.
- Añade etiquetas de ejecución.
Antes de empezar
En la Google Cloud consola, ve a la página Dataform.
Seleccione o cree un repositorio.
Seleccione o cree un espacio 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,
pide a tu administrador que te conceda el
rol de gestión de identidades y accesos Editor de Dataform (roles/dataform.editor
)
en los espacios de trabajo.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.
También puedes conseguir los permisos necesarios a través de roles personalizados u otros roles predefinidos.
Definir una instrucción SQL que se ejecutará antes de crear la tabla
Puedes configurar Dataform para que ejecute una o varias instrucciones SQL antes de crear una tabla seleccionada en BigQuery. Para ejecutar una instrucción SQL antes de que Dataform cree una tabla seleccionada, añade la instrucción al bloque pre_operations
del archivo SQLX de definición de tabla.
Para crear una instrucción SQL personalizada que se ejecute antes de que Dataform cree una tabla específica, siga estos pasos:
- Ve a tu espacio de desarrollo.
- En el panel Archivos, despliega
definitions/
. - Abre un archivo de definición de tabla SQLX.
- Fuera del bloque
config
, introducepre_operations { ... }
. - Dentro de
pre_operations { ... }
, añade tu instrucción SQL. - Opcional: Para añadir varias instrucciones, sepáralas con
---
. - Opcional: Haz clic en Formato.
En el siguiente código de ejemplo 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 SQL que se ejecutará después de crear la tabla.
Puedes configurar Dataform para que ejecute una o varias instrucciones SQL después de crear una tabla seleccionada en BigQuery. Para ejecutar una instrucción SQL después de que Dataform cree una tabla seleccionada, añade la instrucción al bloque post_operations
del archivo SQLX de definición de la tabla. Puedes añadir varias instrucciones SQL al bloque post_operations
.
Para crear una instrucción SQL personalizada que se ejecute después de que Dataform cree una tabla específica, sigue estos pasos:
- Ve a tu espacio de desarrollo.
- En el panel Archivos, despliega
definitions/
. - Abre un archivo de definición de tabla SQLX.
- Fuera del bloque
config
, introducepost_operations { ... }
. - Dentro de
post_operations { ... }
, añade tu instrucción SQL. - Opcional: Haz clic en Formato.
En el siguiente código de ejemplo se muestran instrucciones post_operations
que conceden a los grupos acceso a la tabla creada:
post_operations {
GRANT `roles/bigquery.dataViewer`
ON
TABLE ${self()}
TO "group:allusers@example.com", "user:otheruser@example.com"
}
Inhabilitar la creación de tablas
Para evitar que Dataform cree una tabla seleccionada en BigQuery, puedes inhabilitarla en su archivo de definición de tabla SQLX. 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 todo el flujo de trabajo falle mientras solucionas el problema.
Para inhabilitar una tabla, sigue estos pasos:
- Ve a tu espacio de desarrollo.
- En el panel Archivos, despliega
definitions/
. - Selecciona un archivo de definición de tabla SQLX.
- En el bloque
config
del archivo, introduzcadisabled: true
. - Opcional: Haz clic en Formato.
En el siguiente código de ejemplo se muestra una tabla inhabilitada:
config {
type: "table",
disabled: true
}
select * from ${ref("source_data")}
Añadir etiquetas de ejecución
En esta sección se muestra cómo añadir etiquetas a los archivos SQLX de Dataform Core para categorizar tu flujo de trabajo.
Para organizar los componentes de tu flujo de trabajo en colecciones, puedes añadir etiquetas personalizadas a los archivos SQLX de los siguientes tipos:
table
view
incremental
assertion
operations
Durante la ejecución de un flujo de trabajo, puedes ejecutar solo los archivos con una etiqueta seleccionada.
Con Cloud Composer o Workflows junto con Cloud Scheduler, puedes crear una programación que ejecute un flujo de trabajo de Dataform con una etiqueta seleccionada a un intervalo específico.
Añadir una etiqueta
Puedes añadir varias etiquetas a un archivo SQLX.
Para añadir una etiqueta a un archivo SQLX, sigue estos pasos:
- Ve a tu espacio de desarrollo.
- En el panel Archivos, despliega
definitions/
. - Selecciona un archivo SQLX.
En el bloque
config
, añade una etiqueta con el siguiente formato:tags: ["CUSTOM_TAG"]
Sustituye
CUSTOM_TAG
por tu etiqueta.Opcional: Para añadir varias etiquetas, sepáralas con comas (
,
).Opcional: Haz clic en Formato.
En el siguiente código de ejemplo se muestra la vista user_counts
con las etiquetas daily
y hourly
:
config {
type: "view",
name: "user_counts",
tags: ["daily", "hourly"]
}
Siguientes pasos
- Para saber cómo configurar los ajustes de Dataform en
workflow_settings.yaml
, consulta Configurar los ajustes del flujo de trabajo de Dataform. - Para saber cómo probar los datos de las tablas con aserciones, consulta Probar la calidad de los datos.
- Para saber cómo reutilizar código con inclusiones, consulta Reutilizar código en un mismo repositorio con inclusiones.
- Para saber cómo activar ejecuciones manualmente, consulta Activar ejecuciones manualmente.
- Para saber cómo añadir etiquetas de política de BigQuery en Dataform, consulta Controlar el acceso a las columnas.