Data Analytics

dbt - Funciones avanzadas

Macros Jinja, tests personalizados, packages, hooks, snapshots, incremental models, orquestación CI/CD

20 preguntas de entrevista·
Senior
1

¿Cuál es la diferencia entre una macro y un modelo en dbt?

Respuesta

Una macro es un bloque de código Jinja reutilizable que genera SQL dinámicamente, mientras que un modelo es un archivo SQL que produce una tabla o vista en el data warehouse. Las macros ayudan a factorizar código repetitivo y crear funciones personalizadas, mientras que los modelos definen la estructura de los datos transformados.

2

¿Cómo declarar una macro personalizada en dbt?

Respuesta

Una macro dbt se declara en un archivo .sql dentro de la carpeta macros/ usando las etiquetas Jinja macro y endmacro. El nombre de la macro se define en la etiqueta macro, y puede aceptar parámetros. La macro es luego invocable en los modelos usando la sintaxis de dobles llaves de Jinja.

3

¿Cuál es el principal beneficio de los incremental models en dbt?

Respuesta

Los incremental models permiten procesar solo datos nuevos o modificados desde la última ejecución, en lugar de reconstruir toda la tabla. Esto reduce significativamente el tiempo de ejecución y los costos de compute para tablas grandes, manteniendo los datos actualizados.

4

¿Qué configuración se requiere para definir un incremental model en dbt?

5

¿Cuál es el propósito de la estrategia merge en un incremental model de dbt?

+17 preguntas de entrevista

Domina Data Analytics para tu próxima entrevista

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

Empieza gratis