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 datosintermediate
, almacena la lógica de transformación de los datosoutput
, 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:
Desarrollo del código del flujo de trabajo de SQL en los lugares de trabajo de Dataform
Puedes desarrollar con Dataform Core o exclusivamente con JavaScript.
Compilación de tu código en un resultado de compilación con la configuración de
dataform.json
.Puedes configurar resultados de compilación personalizados con configuraciones de lanzamiento y anulaciones de compilación de lugares de trabajo.
Con las configuraciones de lanzamiento, puedes configurar resultados de compilación personalizados de todo tu repositorio. Más adelante, puedes programar su ejecución en los parámetros de configuración del flujo de trabajo.
Con las anulaciones de compilación de lugares de trabajo, puedes configurar anulaciones de compilación para todos los lugares de trabajo en tu repositorio y crear resultados de compilación personalizados de cada uno.
Ejecución del resultado de la compilación en BigQuery
Puedes programar ejecuciones o resultados de compilación de repositorios con configuraciones del flujo de trabajo.
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?
- Para obtener más información sobre el tamaño del repositorio en Dataform, consulta la Descripción general del tamaño del repositorio.
- Si quieres obtener más información sobre las prácticas recomendadas para dividir repositorios, consulta Divide repositorios.
- A fin de obtener más información sobre las prácticas recomendadas para la estructura de un repositorio, consulta Estructura código en un repositorio.
- Para obtener más información sobre el ciclo de vida del código en Dataform y las diferentes formas de configurarlo, consulta Introducción al ciclo de vida del código en Dataform.
- Si quieres obtener más información sobre las prácticas recomendadas para el ciclo de vida del código, consulta Cómo administrar el ciclo de vida del código.