En este documento, se explica cómo el tamaño del repositorio afecta el desarrollo del flujo de trabajo de SQL y el uso de recursos de compilación de Dataform, y cómo estimar el uso de recursos de compilación de tu repositorio.
Acerca del tamaño del repositorio en Dataform
El tamaño de un repositorio afecta los siguientes aspectos del desarrollo en Dataform:
- Colaboración
- Si varios colaboradores trabajan en un repositorio grande, se puede crear una cantidad excesiva de solicitudes de extracción, lo que aumenta el riesgo de conflictos de combinación.
- Legibilidad de la base de código
- Una mayor cantidad de archivos que conforman un flujo de trabajo de SQL en un solo repositorio puede dificultar la navegación por el repositorio.
- Procesos de desarrollo
- Algunas áreas de un gran flujo de trabajo de SQL en un solo repositorio pueden requerir permisos o procesos personalizados, como la programación, diferentes de los permisos y procesos aplicados al resto del flujo de trabajo de SQL. El tamaño grande del repositorio dificulta adaptar los procesos de desarrollo a áreas específicas del flujo de trabajo de SQL.
- Compilación del flujo de trabajo
- Dataform aplica límites de uso en los recursos de compilación. Un tamaño de repositorio grande puede hacer que se superen estos límites, lo que causa que la compilación falle.
- Ejecución del flujo de trabajo
- Durante la ejecución, Dataform ejecuta el código del repositorio dentro de tu lugar de trabajo y, luego, implementa los recursos en BigQuery. Cuanto más grande sea el repositorio, más tiempo tardará Dataform en ejecutarlo.
Si el tamaño grande de tu repositorio afecta negativamente tu desarrollo en Dataform, puedes dividirlo en varios repositorios más pequeños.
Acerca de los límites de recursos de compilación del repositorio
Durante el desarrollo, Dataform compila todo el código del repositorio dentro de tu lugar de trabajo para generar una representación del flujo de trabajo de SQL en tu repositorio, que se denomina resultado de compilación. Dataform aplica límites de uso a los recursos de compilación.
Es posible que tu repositorio supere los límites de uso por los siguientes motivos:
- Un error de bucle infinito en el código del repositorio
- Un error de fuga de memoria en el código del repositorio
- Tamaño de repositorio grande, aproximadamente más de 1,000 acciones de flujo de trabajo de SQL
Para obtener más información sobre los límites de uso de los recursos de compilación, consulta Límites de recursos de compilación de Dataform.
Estima el uso de recursos de compilación de tu repositorio
Puedes estimar el uso de los siguientes recursos de compilación para tu repositorio:
- Uso de tiempo de CPU
- Es el tamaño máximo total de datos serializados del gráfico generado de acciones definidas en tu repositorio.
Para obtener una aproximación aproximada del uso actual del tiempo de la CPU de compilación para la compilación de tu repositorio, puedes cronometrar la compilación de tu flujo de trabajo de SQL de Dataform en una máquina local de Linux o macOS.
- Para cronometrar la compilación de tu flujo de trabajo de SQL, dentro de tu repositorio, ejecuta
el comando
dataform compile
de la CLI de Dataform en el siguiente formato:
time dataform compile
En el siguiente ejemplo de código, se muestra un resultado de la ejecución del comando time dataform compile
:
real 0m3.480s
user 0m1.828s
sys 0m0.260s
Puedes considerar el resultado de real
como un indicador aproximado del uso del tiempo de la CPU para la compilación de tu repositorio.
Para obtener una aproximación aproximada del tamaño total del gráfico generado de acciones en tu repositorio, puedes escribir el resultado del gráfico en un archivo JSON. Puedes considerar el tamaño del archivo JSON sin comprimir como un indicador aproximado del tamaño total del gráfico.
- Para escribir el resultado del gráfico compilado de tu flujo de trabajo de SQL en un archivo JSON, dentro de tu repositorio, ejecuta el siguiente comando de la CLI de Dataform:
dataform compile --json > graph.json
¿Qué sigue?
- Para obtener más información sobre los límites de recursos de compilación de Dataform, consulta Límites de recursos de compilación de Dataform.
- Para obtener más información sobre cómo dividir un repositorio en Dataform, consulta Cómo dividir repositorios.