Cum să apelezi macro-uri în dbt
DodaTech
Updated 2025-01-15
1 min read
In this tutorial, you'll learn about Cum să apelezi macro. We cover key concepts, practical examples, and best practices.
Macro-urile definite în dbt pot fi apelate din orice model, fișier YAML, hook sau din linia de comandă. Acest ghid acoperă toate modurile de a apela macro-uri.
Step-by-Step Fix
1. Apelează un macro într-un model SQL
-- models/marts/fct_orders.sql
{% macro days_ago(days, column_name) %}
DATEADD(day, -{{ days }}, {{ column_name }})
{% endmacro %}
SELECT
order_id,
{{ days_ago(7, 'order_date') }} AS seven_days_ago,
amount
FROM {{ ref('stg_orders') }}
2. Apelează un macro din alt macro
-- macros/combined_helpers.sql
{% macro full_grant(schema, role) %}
{{ grant_select(schema, role) }}
{{ grant_usage(schema, role) }}
{% endmacro %}
3. Apelează un macro din YAML (schema.yml)
models:
- name: my_model
config:
pre_hook: "{{ grant_select('my_schema', 'analytics_role') }}"
4. Apelează un macro din linia de comandă
dbt run-operation grant_select --args "{schema: public, role: readonly}"
Output așteptat:
15:23:45 Running macro: grant_select
15:23:45 Completed successfully
Common Mistakes
| Greșeală | Soluție |
|---|---|
| Nume de macro greșit (case-sensitive) | Verifică numele exact cu dbt list --resource-type macro |
| Argumente lipsă la apel | Furnizează toate argumentele obligatorii |
| Apel macro în afara contextului Jinja | Asigură-te că sintaxa {{ }} este corectă |
Prevention Tips
- Folosește
dbt run-operationpentru a testa macro-urile izolat - Verifică numele macro-urilor cu
dbt list --resource-type macro - Documentează exemple de apel pentru fiecare macro
- Evită apelurile recursive care pot duce la erori de compilare
DodaTech Tools
Doda Browser oferă un panou de execuție rapidă pentru macro-uri. DodaZIP salvează logurile apelurilor de macro-uri pentru audit. Durga Antivirus Pro monitorizează macro-urile pentru comportament anormal.
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Instrumentele DodaTech se integrează nativ cu dbt pentru productivitate și securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro