autocommit
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
"""
|
||||
DAG для запуска dbt run команд
|
||||
"""
|
||||
from datetime import datetime, timedelta
|
||||
from airflow import DAG
|
||||
from airflow.operators.bash import BashOperator
|
||||
|
||||
default_args = {
|
||||
'owner': 'airflow',
|
||||
'depends_on_past': False,
|
||||
'email_on_failure': False,
|
||||
'email_on_retry': False,
|
||||
'retries': 1,
|
||||
'retry_delay': timedelta(minutes=5),
|
||||
}
|
||||
|
||||
with DAG(
|
||||
'dbt_run_example',
|
||||
default_args=default_args,
|
||||
description='Пример DAG для запуска dbt run',
|
||||
schedule_interval=None, # Запуск вручную
|
||||
start_date=datetime(2024, 1, 1),
|
||||
catchup=False,
|
||||
tags=['dbt', 'example'],
|
||||
) as dag:
|
||||
|
||||
# Проверка версии dbt
|
||||
dbt_debug = BashOperator(
|
||||
task_id='dbt_debug',
|
||||
bash_command='cd /dbt && dbt debug --project-dir . --profiles-dir /home/airflow/.dbt',
|
||||
)
|
||||
|
||||
# Установка зависимостей dbt
|
||||
dbt_deps = BashOperator(
|
||||
task_id='dbt_deps',
|
||||
bash_command='cd /dbt && dbt deps --project-dir . --profiles-dir /home/airflow/.dbt',
|
||||
)
|
||||
|
||||
# Запуск dbt run
|
||||
dbt_run = BashOperator(
|
||||
task_id='dbt_run',
|
||||
bash_command='cd /dbt && dbt run --project-dir . --profiles-dir /home/airflow/.dbt',
|
||||
)
|
||||
|
||||
# Запуск dbt test (опционально)
|
||||
dbt_test = BashOperator(
|
||||
task_id='dbt_test',
|
||||
bash_command='cd /dbt && dbt test --project-dir . --profiles-dir /home/airflow/.dbt',
|
||||
)
|
||||
|
||||
# Определяем порядок выполнения задач
|
||||
dbt_debug >> dbt_deps >> dbt_run >> dbt_test
|
||||
Reference in New Issue
Block a user