Перейти к основному содержимому

О команде 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 продолжает выполнение с места ошибки, а не запускает все вышестоящие зависимости заново.

0