Data Engineering

dbt - Funcionalidades avanzadas

Macros Jinja, tests personalizados, packages, hooks, snapshots (SCD), incremental models, dbt Cloud, CI/CD

20 preguntas de entrevista·
Senior
1

En dbt, ¿cuál es la función principal de las macros Jinja?

Respuesta

Las macros Jinja permiten reutilizar código SQL en varios modelos de dbt. Funcionan como funciones que aceptan parámetros y devuelven código SQL generado dinámicamente. Esto evita la duplicación de código y facilita el mantenimiento de transformaciones complejas en todo el proyecto.

2

¿Cómo definir una macro de dbt reutilizable en un archivo?

Respuesta

Una macro de dbt se define usando la sintaxis Jinja macro/endmacro en un archivo .sql dentro de la carpeta macros. El nombre de la macro se especifica después de la palabra clave macro, seguido de los parámetros entre paréntesis. Esta macro puede luego ser llamada desde cualquier modelo del proyecto.

3

¿Cuál es la diferencia entre las estrategias 'timestamp' y 'check' para los snapshots de dbt?

Respuesta

La estrategia timestamp compara una columna de fecha de actualización (updated_at) para detectar cambios, lo que es más eficiente ya que solo compara una columna. La estrategia check compara los valores de las columnas especificadas (check_cols) para detectar cualquier cambio, útil cuando no hay una columna timestamp confiable disponible.

4

¿Qué columnas son agregadas automáticamente por dbt al crear un snapshot?

5

¿Cómo configurar un modelo incremental con la estrategia 'merge' en dbt?

+17 preguntas de entrevista

Domina Data Engineering para tu próxima entrevista

Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.

Empieza gratis