Cum să rulezi operații cu comanda dbt run-operation
In this tutorial, you'll learn about Cum să rulezi operații cu comanda dbt run. We cover key concepts, practical examples, and best practices.
Comanda dbt run-operation execută un macro direct, fără a compila și rula un model. Este utilă pentru operații administrative, granturi, curățenie și migrări. Acest ghid explică utilizarea corectă.
Step-by-Step Fix
1. Definește un macro executabil
-- macros/admin_helpers.sql
{% macro clean_old_records(schema, table, days) %}
DELETE FROM {{ schema }}.{{ table }}
WHERE created_at < DATEADD(day, -{{ days }}, CURRENT_TIMESTAMP)
{% endmacro %}
2. Rulează macro-ul cu run-operation
dbt run-operation clean_old_records --args "{schema: public, table: logs, days: 30}"
Output așteptat:
15:23:45 Running macro: clean_old_records
15:23:46 Completed successfully
3. Rulează operația în modul dry-run
dbt run-operation clean_old_records --args "{schema: public, table: logs, days: 30}" --log-level debug 2>&1 | grep -i "sql"
4. Verifică macro-urile disponibile pentru run-operation
dbt list --resource-type macro --output name | sort
Output așteptat:
clean_old_records
generate_schema_name
grant_select
Common Mistakes
| Greșeală | Soluție |
|---|---|
| Macro-ul nu este executabil | Asigură-te că macro-ul conține SQL care poate fi rulat direct |
| Lipsesc argumentele obligatorii | Verifică definiția macro-ului și furnizează toate argumentele |
| Format JSON incorect la --args | Folosește ghilimele duble în JSON: {"key": "value"} |
Prevention Tips
- Testează macro-urile în medii de develop înainte de producție
- Folosește
--log-level debugpentru depanare - Rulează în tranzacții explicite pentru operații critice
- Documentează efectele fiecărei operații
DodaTech Tools
Doda Browser oferă o interfață grafică pentru run-operation. DodaZIP arhivează comenzile executate pentru audit. Durga Antivirus Pro blochează operațiile periculoase (DROP, TRUNCATE) neautorizate.
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