Descripción general de las funciones de Dataform

Dataform es un servicio sin servidores para que los analistas de datos desarrollen y, luego, implementen tablas, tablas incrementales o vistas en BigQuery. Dataform ofrece un entorno web para el desarrollo del flujo de trabajo de SQL, la conexión con GitHub, GitLab, Azure DevOps Services y Bitbucket, la integración continua, la implementación continua y la ejecución del flujo de trabajo.

Repositorios

Cada proyecto de Dataform se almacena en un repositorio. Un repositorio de Dataform aloja una colección de archivos de configuración JSON, archivos SQLX y archivos JavaScript.

Los repositorios de Dataform contienen los siguientes tipos de archivos:

  • Archivos de configuración

    Los archivos de configuración JSON o SQLX te permiten configurar los flujos de trabajo de SQL. Contienen una configuración general, programas de ejecución o un esquema para crear tablas y vistas nuevas.

  • Definiciones

    Las definiciones son archivos SQLX y JavaScript que definen nuevas tablas, vistas y operaciones de SQL adicionales para ejecutar en BigQuery.

  • Incluye

    Los elementos Include son archivos JavaScript en los que puedes definir variables y funciones para usar en tu proyecto.

Cada repositorio de Dataform está conectado a una cuenta de servicio. Puedes seleccionar una cuenta de servicio cuando crees un repositorio o edites la cuenta de servicio más adelante.

De forma predeterminada, Dataform usa una cuenta de servicio derivada de tu número de proyecto en el siguiente formato:

service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Control de versión

Dataform usa el sistema de control de versión de Git para mantener un registro de cada cambio realizado en los archivos del proyecto y administrar las versiones de los archivos.

Cada repositorio de Dataform puede administrar su propio repositorio de Git o conectarse a un repositorio de Git remoto de terceros. Puedes conectar un repositorio de Dataform a un repositorio de GitHub, GitLab, Azure DevOps Services o Bitbucket.

Los usuarios controlan la versión del código del flujo de trabajo de SQL dentro de los lugares de trabajo de Dataform. En un lugar de trabajo de Dataform, puedes extraer cambios del repositorio, confirmar todos los cambios o los seleccionados y enviarlos a las ramas de Git del repositorio.

Desarrollo del flujo de trabajo

En Dataform, puedes realizar cambios en los archivos y directorios dentro de un lugar de trabajo de desarrollo. Un lugar de trabajo de desarrollo es una copia virtual y editable del contenido de un repositorio de Git. Dataform conserva el estado de los archivos de tu lugar de trabajo de desarrollo entre sesiones.

En un lugar de trabajo de desarrollo, puedes desarrollar acciones de flujo de trabajo de SQL mediante el núcleo de Dataform con SQLX y JavaScript, o exclusivamente con JavaScript. Puedes dar formato automáticamente a tu código de JavaScript o de núcleo de Dataform.

Cada elemento de un flujo de trabajo de SQL de Dataform, como una tabla o aserción, corresponde a una acción que Dataform realiza en BigQuery. Por ejemplo, un archivo de definición de tablas es una acción de crear o actualizar la tabla en BigQuery.

En un lugar de trabajo de Dataform, puedes desarrollar las siguientes acciones de flujo de trabajo de SQL:

Puedes usar JavaScript para reutilizar el código del flujo de trabajo SQL de Dataform de las siguientes maneras:

Dataform compila el código del flujo de trabajo de SQL en tu lugar de trabajo en tiempo real. En tu lugar de trabajo, puedes ver las consultas compiladas y los detalles de las acciones en cada archivo. También puedes ver el estado de compilación y los errores en el archivo editado o en el repositorio.

Para probar el resultado de una consulta en SQL compilada antes de ejecutarla en BigQuery, puedes ejecutar una vista previa de la consulta en el lugar de trabajo de Dataform.

Para inspeccionar todo el flujo de trabajo de SQL definido en tu lugar de trabajo, puedes ver un gráfico compilado interactivo que muestra todas las acciones compiladas en el flujo de trabajo de SQL y las relaciones entre ellas.

Compilación del flujo de trabajo

Dataform usa la configuración de compilación predeterminada, configurada en dataform.json, para compilar el código del flujo de trabajo de SQL de tu lugar de trabajo en SQL en tiempo real, lo que crea un resultado de compilación del lugar de trabajo.

Puedes anular la configuración de compilación para personalizar la forma en que Dataform compila tu flujo de trabajo de SQL en un resultado de compilación.

Con las anulaciones de compilación de lugares de trabajo, puedes configurar anulaciones de compilación para todos los lugares de trabajo en un repositorio. Puedes configurar anulaciones dinámicas de lugares de trabajo para crear resultados de compilación personalizados para cada lugar de trabajo, lo que los convierte en entornos de desarrollo aislados. Puedes anular el proyecto de Google Cloud en el que Dataform ejecutará el contenido de un lugar de trabajo, agregar un prefijo a los nombres de todas las tablas compiladas y agregar un sufijo al esquema predeterminado.

Con las configuraciones de lanzamiento, puedes establecer plantillas de configuración de compilación para crear resultados de compilación de un repositorio de Dataform. En una configuración de lanzamiento, puedes anular el proyecto de Google Cloud en el que Dataform ejecutará los resultados de compilación, agregar un prefijo a los nombres de todas las tablas compiladas, agregar un sufijo al esquema predeterminado y agregar variables de compilación. También puedes establecer la frecuencia de la creación de resultados de compilación. Para programar ejecuciones de resultados de compilación creados en una configuración de lanzamiento seleccionada, puedes crear una configuración de flujo de trabajo.

Ejecución del flujo de trabajo

Durante la ejecución del flujo de trabajo, Dataform ejecuta los resultados de la compilación de los flujos de trabajo de SQL para crear o actualizar elementos en BigQuery.

Para crear o actualizar las tablas y vistas definidas en el flujo de trabajo de SQL en BigQuery, puedes iniciar la ejecución de un flujo de trabajo de forma manual en un lugar de trabajo de desarrollo o programar ejecuciones.

Puedes programar ejecuciones de Dataform en BigQuery de las siguientes maneras:

Para depurar errores, puedes supervisar las ejecuciones de las siguientes maneras:

¿Qué sigue?