Introducción al ciclo de vida del código en Dataform

En este documento, se describe el ciclo de vida del código en Dataform y las formas de configurar la compilación y la ejecución en Dataform.

Información acerca del ciclo de vida del código en Dataform

El ciclo de vida del código de Dataform consta de las siguientes fases:

Desarrollo
Desarrollas un flujo de trabajo de SQL en un lugar de trabajo de Dataform.
Compilación

Dataform compila el código del flujo de trabajo de SQL en tu lugar de trabajo en SQL en tiempo real y crea un resultado de compilación del lugar de trabajo que puedes ejecutar en BigQuery. Dataform usa la configuración que definiste en el archivo dataform.json para crear el resultado de la compilación.

La compilación de Dataform es hermética para garantizar la coherencia de la compilación, lo que significa que siempre se compila el mismo código en el mismo resultado de compilación de SQL. Dataform compila tu código en un entorno de zona de pruebas sin acceso a Internet. No hay acciones adicionales disponibles, como llamar a APIs externas, durante la compilación.

Ejecución

En una invocación de flujo de trabajo, Dataform ejecuta el resultado de compilación del lugar de trabajo en BigQuery.

Para adaptar el ciclo de vida del código de Dataform a tus necesidades, puedes configurar el resultado de la compilación para influir en el lugar y la forma en que Dataform ejecuta el flujo de trabajo de SQL. Luego, puedes activar o programar ejecuciones de forma manual para influir en el momento en el que Dataform ejecuta todo el flujo de trabajo de SQL o sus elementos seleccionados.

Formas de configurar la compilación de Dataform

De forma predeterminada, Dataform usa la configuración en el archivo dataform.json para crear resultados de compilación. Puedes anular la configuración predeterminada con anulaciones de compilación para crear resultados de compilación personalizados. Luego, puedes activar manualmente la ejecución de un resultado de compilación personalizado o programar ejecuciones.

Dataform proporciona las siguientes opciones para configurar los resultados de la compilación:

Anulaciones de compilación del lugar de trabajo
Puedes configurar anulaciones de compilación que se aplican a todos los lugares de trabajo en un repositorio. Puedes usar anulaciones de compilación de lugares de trabajo para crear entornos de desarrollo aislados.
Configuraciones de lanzamiento
Puedes crear configuraciones de lanzamiento a fin de configurar plantillas para crear resultados de compilación de un repositorio de Dataform. Luego, puedes crear una configuración de flujo de trabajo para programar ejecuciones de resultados de compilaciones creados en una configuración de lanzamiento seleccionada.
Anulaciones de compilación de la API de Dataform
Puedes pasar solicitudes a la API de Dataform en la terminal para crear y ejecutar un solo resultado de compilación con anulaciones de compilación.

Configura anulaciones de compilación de lugares de trabajo

Con las anulaciones de compilación de lugares de trabajo, puedes crear anulaciones de compilación para todos los lugares de trabajo en un repositorio de Dataform. Puedes crear una configuración de anulaciones de compilación de lugares de trabajo por repositorio.

Cuando activas la ejecución de forma manual en un lugar de trabajo en un repositorio con anulaciones de compilación de lugares de trabajo, Dataform aplica estas anulaciones al resultado de la compilación del lugar de trabajo.

Puedes configurar las siguientes anulaciones de compilación de lugares de trabajo:

  • Proyecto de Google Cloud en el que Dataform ejecuta los contenidos del lugar de trabajo
  • Prefijo de la tabla
  • Sufijo de esquema

Puedes usar anulaciones de compilación de lugares de trabajo para crear entornos de desarrollo aislados mediante el aislamiento de los resultados de compilación de lugares de trabajo en BigQuery con anulaciones de compilación dinámicas. Las anulaciones de compilación del prefijo de tabla dinámica y del sufijo del esquema contienen la variable ${workspaceName}. Cuando activas la ejecución en un lugar de trabajo, Dataform reemplaza la variable ${workspaceName} por el nombre del lugar de trabajo actual y crea anulaciones de compilación únicas para este.

Ten en cuenta que no puedes programar ejecuciones de resultados de compilación creados con anulaciones de compilación de lugares de trabajo.

Cómo crear configuraciones de lanzamiento

Con las configuraciones de lanzamiento, puedes definir plantillas de configuración para crear resultados de compilación de repositorios.

En una configuración de lanzamiento, puedes configurar anulaciones de compilación de la configuración de dataform.json, variables de compilación y la frecuencia con la que se crean resultados de compilación de todo el repositorio.

En una configuración de lanzamiento, puedes configurar las siguientes anulaciones de compilación:

Puedes crear varias configuraciones de lanzamiento en un repositorio de Dataform, una para cada etapa de tu ciclo de vida de desarrollo, lo que genera resultados de compilación de repositorio aislados.

Luego, puedes crear configuraciones de flujo de trabajo para programar ejecuciones de resultados de compilación creados en una configuración de lanzamiento seleccionada.

También puedes activar manualmente la ejecución de un resultado de compilación en una configuración de lanzamiento seleccionada.

Configura un solo resultado de compilación con anulaciones de compilación de la API de Dataform

Cuando pasas las solicitudes a la API de Dataform en la terminal, puedes configurar las anulaciones de compilación para un solo resultado de compilación.

En la solicitud compilationResults.create, puedes crear un solo resultado de compilación de un lugar de trabajo de Dataform o un comittish de Git especificado.

En el objeto CodeCompilationConfig de la solicitud compilationResults.create, puedes configurar anulaciones de compilación para la solicitud de compilación.

Puedes configurar las siguientes anulaciones de compilación de la API de Dataform:

Ten en cuenta que las anulaciones de compilación de la API de Dataform se aplican a un solo resultado de compilación y a una sola ejecución. No puedes usarlos para programar ejecuciones de Dataform.

Puedes ejecutar un resultado de compilación en la solicitud workflowInvocations.create.

Formas de configurar la ejecución de Dataform

Dataform proporciona las siguientes opciones para configurar la ejecución:

Ejecución manual en un lugar de trabajo
Puedes activar de forma manual la ejecución instantánea de un flujo de trabajo de SQL en un lugar de trabajo de Dataform, fuera de cualquier programa. Puedes ejecutar las acciones seleccionadas en el flujo de trabajo de SQL.
Configuraciones del flujo de trabajo
Puedes programar ejecuciones de resultados de compilación creados en una configuración de lanzamiento seleccionada. Puedes seleccionar acciones del flujo de trabajo de SQL para ejecutar y configurar la frecuencia y la zona horaria de las ejecuciones.

Activa la ejecución instantánea en un lugar de trabajo

En un lugar de trabajo de Dataform, puedes ejecutar instantáneamente de forma manual la ejecución del flujo de trabajo de SQL en tu lugar de trabajo, fuera de cualquier programa.

Puedes ejecutar manualmente los siguientes elementos del flujo de trabajo de SQL en tu lugar de trabajo:

Si tu repositorio contiene anulaciones de compilación de lugares de trabajo, puedes ver qué anulaciones de compilación se aplicarán Dataform al resultado de compilación del lugar de trabajo.

Crear configuraciones de flujo de trabajo

Con las configuraciones del flujo de trabajo, puedes programar ejecuciones de resultados de compilación de una configuración de lanzamiento seleccionada. Puedes crear varios parámetros de configuración de flujo de trabajo en un repositorio de Dataform.

En la configuración de un flujo de trabajo, puedes establecer la siguiente configuración de ejecución:

  • Se aplicó la configuración del lanzamiento de la compilación
  • Selección de acciones del flujo de trabajo de SQL que se ejecutarán
  • Programa y zona horaria de las ejecuciones

Puedes seleccionar las siguientes acciones del flujo de trabajo de SQL para que se ejecuten:

  • Todas las acciones
  • Acciones seleccionadas
  • Acciones con las etiquetas seleccionadas

Luego, durante una ejecución programada de la configuración de tu flujo de trabajo, Dataform implementa en BigQuery la selección de acciones del resultado de la compilación aplicada.

Los parámetros de configuración de lanzamiento y de flujo de trabajo de Dataform te permiten configurar la compilación y programar ejecuciones dentro de Dataform, sin necesidad de depender de servicios adicionales.

Vencimiento de los recursos del ciclo de vida

Dataform almacena los resultados de la compilación y las invocaciones de flujos de trabajo durante un período específico.

Vencimiento de las invocaciones de flujos de trabajo

Las invocaciones del flujo de trabajo vencen después de 90 días o cuando las borras de forma manual.

En una configuración de flujo de trabajo, puedes ver una lista de las invocaciones más recientes de flujos de trabajo creadas por la configuración. Cuando vence una invocación de flujo de trabajo creada por una configuración de flujo de trabajo, Dataform la quita de la lista de invocaciones recientes.

Vencimiento de los resultados de la compilación

El vencimiento de los resultados de compilación depende de cómo se crean: en un lugar de trabajo de desarrollo, en una configuración de lanzamiento o mediante una invocación de flujo de trabajo.

Cuando desarrollas un flujo de trabajo de SQL en un lugar de trabajo de Dataform, Dataform compila tu código en un resultado de compilación en tiempo real para proporcionar validación de consultas. Los resultados de compilación creados de esta manera vencen después de 24 horas.

En una configuración de lanzamiento, el resultado de la compilación más reciente se convierte en el resultado de la compilación en vivo. Un nuevo resultado de compilación reemplaza el resultado actual de la compilación en vivo. Dataform retiene el resultado de la compilación en vivo hasta que se reemplaza por uno nuevo. Los resultados de compilación reemplazados vencen en un máximo de 24 horas.

Dataform quita los resultados de compilación vencidos de la lista de resultados de compilaciones anteriores en la página Detalles de una configuración de lanzamiento.

Dataform retiene los resultados de compilación que crean las invocaciones del flujo de trabajo durante toda su vida, hasta 24 horas después de que la invocación del flujo de trabajo se venza o se borre.

¿Qué sigue?