Plantillas Jinja

Introducción al dbt

Mike Metzger

Data Engineer

¿Qué es una plantilla?

  • Formato definido que permite sustituir información
  • A menudo un archivo de texto
  • Facilita el acceso y la reutilización
Introducción al dbt

¿Qué es Jinja?

  • Lenguaje de plantillas simple basado en texto
  • Usado en muchas herramientas más allá de dbt
  • {{ ... }} representa una sustitución de plantilla
  • dbt tiene muchas funciones Jinja disponibles para proyectos
  • Permite un uso más dinámico de dbt
  • Puedes usar bucles for para simplificar código
Introducción al dbt

Funciones Jinja en dbt

  • Algunas funciones Jinja disponibles
    • ref: Acceder a modelos por nombre
    • config: Acceder a configuraciones
    • docs: Acceder a la documentación
    • Cálculos, bucles, etc.
Introducción al dbt

Ejemplo de Jinja

  • Sin Jinja
    SELECT
    COALESCE(start_date, '2025-01-01') as start_date,
    COALESCE(update_date, '2025-01-01') as update_date,
    COALESCE(end_date, '2025-01-01') as end_date
    FROM Events
    
  • Con Jinja
    SELECT
    {% for column in ['start_date', 'update_date', 'end_date'] %}
    COALESCE({{column}}, '2025-01-01') as {{column}}
    {% endfor %}
    FROM Events
    
Introducción al dbt

¡Vamos a practicar!

Introducción al dbt

Preparing Video For Download...