59просмотров
48.8%от подписчиков
19 марта 2026 г.
📷 ФотоScore: 65
🔹 Планирование ETL: расписания и зависимости 🔹 Как запускать ETL-пайплайн по расписанию и учитывать зависимости? 🔸 Суть: нужны регулярные запуски, чтобы данные были свежими, и контроль зависимостей, чтобы задачи не перекрывались и не приводили к неконсистентности данных. Без этого — дубли, гонки и неполные загрузки. 🔸 cron — это расписание по времени. Пример: 0 2 запускает в 02:00. Подходит для простой периодичности, но cron не знает о порядке задач и не управляет retry. 🔸 DAG (Directed Acyclic Graph — направленный ацикличный граф) моделирует зависимости между задачами. Airflow использует DAG’ы (или по простому – Даг’и): он ставит задачи в очередь, следит за состоянием, делает ретраи и сенсоры, умеет backfill. from airflow import DAG
from airflow.operators.bash import BashOperator
from datetime import datetime with DAG('etl', start_date=datetime(2023,1,1), schedule_interval='0 2 ') as dag: extract = BashOperator(task_id='extract', bash_command='echo extract') transform = BashOperator(task_id='transform', bash_command='echo transform') load = BashOperator(task_id='load', bash_command='echo load') extract >> transform >> load 🔸 Практика: для простых одношаговых задач — cron; для pipeline с зависимостями — Airflow/DAG; задавайте catchup=False и max_active_runs=1, чтобы избежать накладок. 📚 cron для простого расписания, DAG+Airflow для контроля зависимостей и надёжности. #CODERIKK #Etl #Junior ➡️ Мы в Telegram - Сетке - Дзен
Буду рад вашей реакции здесь⬇️