Descripción general de las prácticas recomendadas en Dataform

En este documento, se muestra una descripción general de las prácticas recomendadas para administrar el tamaño y la estructura del repositorio, y el ciclo de vida del código en Dataform.

Prácticas recomendadas para el tamaño del repositorio

El tamaño del repositorio influye en varios aspectos del desarrollo en Dataform, como los siguientes:

  • Colaboración
  • Legibilidad de la base de código
  • Procesos de desarrollo
  • Compilación del flujo de trabajo
  • Ejecución del flujo de trabajo

Dataform aplica las cuotas y los límites de las APIs a los recursos de compilación. Un repositorio grande puede hacer que tu repositorio exceda estas cuotas y límites. Esto puede provocar errores en la compilación y ejecución de tu flujo de trabajo de SQL.

Para mitigar ese riesgo, te recomendamos dividir los repositorios grandes. Cuando divides un repositorio grande, se divide un flujo de trabajo grande de SQL en varios flujos de trabajo de SQL más pequeños alojados en repositorios diferentes y conectados por dependencias entre repositorios.

Este enfoque te permite cumplir con las cuotas y los límites de Dataform, los procesos y permisos detallados, y mejorar la legibilidad y colaboración de la base de código. Sin embargo, administrar los repositorios divididos puede ser más difícil que administrar un solo repositorio.

Si deseas obtener más información sobre el impacto del tamaño del repositorio en Dataform y las prácticas recomendadas para dividir repositorios, consulta Divide repositorios.

Prácticas recomendadas para la estructura del repositorio

Recomendamos estructurar los archivos en el directorio definitions para reflejar las etapas del flujo de trabajo. Ten en cuenta que puedes adoptar la estructura personalizada que se ajuste mejor a tus necesidades.

La siguiente estructura recomendada de subdirectorios definitions refleja las etapas clave de la mayoría de los flujos de trabajo de SQL:

  • sources, almacena declaraciones de fuentes de datos
  • intermediate, almacena la lógica de transformación de los datos
  • output, que almacena definiciones de tablas de salida
  • Opcional: extras, que almacena archivos adicionales

Los nombres de todos los archivos en Dataform deben cumplir con los lineamientos de nombres de tablas de BigQuery. Recomendamos que los nombres de los archivos del directorio definitions en un repositorio de Dataform reflejen la estructura del subdirectorio.

Si deseas obtener más información sobre las prácticas recomendadas para estructurar y nombrar archivos en un repositorio, consulta Estructura código en un repositorio.

Prácticas recomendadas para el ciclo de vida del código

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

Para administrar el ciclo de vida del código en Dataform, puedes crear entornos de ejecución, como desarrollo, etapa de pruebas y producción.

Para obtener más información sobre el ciclo de vida del código en Dataform, consulta Introducción al ciclo de vida del código en Dataform.

Puedes optar por mantener los entornos de ejecución en un solo repositorio o en varios repositorios.

Entornos de ejecución en un solo repositorio

Puedes crear entornos de ejecución aislados, como el desarrollo, la etapa de pruebas y la producción, en un solo repositorio de Dataform con anulaciones de compilación de lugares de trabajo y configuraciones de lanzamiento.

Puedes crear entornos de ejecución aislados de las siguientes maneras:

  • Divide las tablas de desarrollo y producción por esquema
  • Divide tablas de desarrollo y producción por esquema y proyecto de Google Cloud
  • Divide tablas de desarrollo, etapa de pruebas y producción por proyecto de Google Cloud

Luego, puedes programar ejecuciones en entornos de etapa de pruebas y producción con los parámetros de configuración del flujo de trabajo. Recomendamos activar las ejecuciones de forma manual en el entorno de desarrollo.

Si quieres obtener más información sobre las prácticas recomendadas para administrar el ciclo de vida del código en Dataform, consulta Cómo administrar el ciclo de vida del código.

Ciclo de vida del código en varios repositorios

Para adaptar los permisos de administración de identidades y accesos a cada etapa del ciclo de vida del código, puedes crear varias copias de un repositorio y almacenarlas en diferentes proyectos de Google Cloud.

Cada proyecto de Google Cloud sirve como un entorno de ejecución que corresponde a una etapa del ciclo de vida del código, por ejemplo, el desarrollo y la producción.

En este enfoque, recomendamos mantener la base de código del repositorio igual en todos los proyectos de Google Cloud. Para personalizar la compilación y la ejecución en cada copia del repositorio, usa las anulaciones de compilación de lugares de trabajo, los parámetros de configuración de lanzamiento y los parámetros de configuración del flujo de trabajo.

¿Qué sigue?