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 del repositorio, 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 afecta a 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 cuotas y límites de la API en los recursos de compilación. El tamaño grande del repositorio puede hacer que supere estas cuotas y límites. Esto puede provocar que la compilación y ejecución de tu flujo de trabajo de SQL falle.

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

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

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

Prácticas recomendadas para la estructura del repositorio

Te recomendamos que estructures los archivos en el directorio definitions para reflejar las etapas de tu flujo de trabajo. Ten en cuenta que puedes adoptar una estructura personalizada que mejor se adapte 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 las declaraciones de fuentes de datos
  • intermediate, que almacena la lógica de transformación de datos
  • output, que almacena definiciones de tablas de salida
  • Opcional: extras, que almacena archivos adicionales

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

Para obtener más información sobre las prácticas recomendadas para estructurar y nombrar archivos en un repositorio, consulta Cómo estructurar el código en un repositorio.

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

El ciclo de vida de 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, por ejemplo, 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 elegir mantener tus entornos de ejecución en un solo repositorio o en varios.

Entornos de ejecución en un solo repositorio

Puedes crear entornos de ejecución aislados, como desarrollo, etapa de pruebas y producción, en un solo repositorio de Dataform con anulaciones de compilación de lugares de trabajo y parámetros de configuración de lanzamiento.

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

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

Luego, puedes programar ejecuciones en entornos de pruebas y producción con parámetros de configuración de 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 Identity and Access Management a cada etapa del ciclo de vida del código, puedes crear varias copias de un repositorio y almacenarlas en diferentes proyectos deGoogle Cloud .

Cada proyecto de Google Cloud funciona como un entorno de ejecución que corresponde a una etapa del ciclo de vida de tu código, por ejemplo, desarrollo y 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 espacios de trabajo, las configuraciones de lanzamiento y las configuraciones de flujo de trabajo.

¿Qué sigue?