О команде dbt retry
dbt retry
повторно выполняет последнюю команду dbt
, начиная с узла, где произошла ошибка. Если ранее выполненная команда dbt
была успешной, retry
завершится как no operation
(без операции).
Команда retry работает со следующими командами:
dbt retry
ссылается на run_results.json, чтобы определить, с какого места начать. Выполнение dbt retry
без исправления предыдущих ошибок приведет к результатам.
dbt retry
повторно использует селекторы из ранее выполненной команды.
Пример результатов выполнения dbt retry
после успешного dbt run
:
Running with dbt=1.6.1
Registered adapter: duckdb=1.6.0
Found 5 models, 3 seeds, 20 tests, 0 sources, 0 exposures, 0 metrics, 348 macros, 0 groups, 0 semantic models
Nothing to do. Try checking your model configs and model specification args
Пример, когда dbt run
сталкивается с синтаксической ошибкой в модели:
Running with dbt=1.6.1
Registered adapter: duckdb=1.6.0
Found 5 models, 3 seeds, 20 tests, 0 sources, 0 exposures, 0 metrics, 348 macros, 0 groups, 0 semantic models
Concurrency: 24 threads (target='dev')
1 of 5 START sql view model main.stg_customers ................................. [RUN]
2 of 5 START sql view model main.stg_orders .................................... [RUN]
3 of 5 START sql view model main.stg_payments .................................. [RUN]
1 of 5 OK created sql view model main.stg_customers ............................ [OK in 0.06s]
2 of 5 OK created sql view model main.stg_orders ............................... [OK in 0.06s]
3 of 5 OK created sql view model main.stg_payments ............................. [OK in 0.07s]
4 of 5 START sql table model main.customers .................................... [RUN]
5 of 5 START sql table model main.orders ....................................... [RUN]
4 of 5 ERROR creating sql table model main.customers ........................... [ERROR in 0.03s]
5 of 5 OK created sql table model main.orders .................................. [OK in 0.04s]
Finished running 3 view models, 2 table models in 0 hours 0 minutes and 0.15 seconds (0.15s).
Completed with 1 error and 0 warnings:
Runtime Error in model customers (models/customers.sql)
Parser Error: syntax error at or near "selct"
Done. PASS=4 WARN=0 ERROR=1 SKIP=0 TOTAL=5
Пример последующего неудачного выполнения dbt retry
без исправления ошибок:
Running with dbt=1.6.1
Registered adapter: duckdb=1.6.0
Found 5 models, 3 seeds, 20 tests, 0 sources, 0 exposures, 0 metrics, 348 macros, 0 groups, 0 semantic models
Concurrency: 24 threads (target='dev')
1 of 1 START sql table model main.customers .................................... [RUN]
1 of 1 ERROR creating sql table model main.customers ........................... [ERROR in 0.03s]
Done. PASS=4 WARN=0 ERROR=1 SKIP=0 TOTAL=5
Пример успешного выполнения dbt retry
после исправления ошибок:
Running with dbt=1.6.1
Registered adapter: duckdb=1.6.0
Found 5 models, 3 seeds, 20 tests, 0 sources, 0 exposures, 0 metrics, 348 macros, 0 groups, 0 semantic models
Concurrency: 24 threads (target='dev')
1 of 1 START sql table model main.customers .................................... [RUN]
1 of 1 OK created sql table model main.customers ............................... [OK in 0.05s]
Finished running 1 table model in 0 hours 0 minutes and 0.09 seconds (0.09s).
Completed successfully
Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1
В каждом сценарии dbt retry
продолжает выполнение с места ошибки, а не запускает все вышестоящие зависимости заново.