Middle
Čo je Apache Airflow?
sobes.tech AI
Odpoveď od AI
Airflow je open-source platforma na programovom základe pre tvorby, plánovania a sledovania workflow-ov (pracovných tokov). Umožňuje definovať úlohy a ich závislosti v Python kóde, vizualizovať ich graf (DAG), spúšťať úlohy podľa plánu alebo triggerov a sledovať ich vykonávanie cez webové rozhranie.
Hlavné komponenty Airflow:
- Scheduler: Spúšťa naplánované workflow.
- Webserver: Poskytuje používateľské rozhranie na správu a sledovanie.
- Worker(s): Vykonávajú úlohy (závisí od Executor-u).
- Database: Ukladá stav workflow, úloh, konfigurácie a históriu.
DAG (Directed Acyclic Graph) je hlavná koncepcia Airflow. DAG predstavuje množinu úloh (operatorov), prepojených závislosťami vo forme smerovaného acyklického grafu.
Príklady operatorov:
BashOperator: Vykonáva bash príkazy.PythonOperator: Vykonáva Python funkcie.PostgresOperator: Vykonáva SQL dotazy v PostgreSQL.
Distribuovaná architektúra umožňuje škálovať Airflow pomocou rôznych executorov:
SequentialExecutor: Pre testovanie, vykonáva úlohy sekvenčne.LocalExecutor: Spúšťa úlohy paralelne na jednej mašine.CeleryExecutor: Používa Celery pre distribuované vykonávanie úloh na viacerých workeroch.KubernetesExecutor: Spúšťa každú úlohu v samostatnom Kubernetes podu.
Výhody Airflow:
- Programové vytváranie: Workflow sú definované v Python kóde.
- Dynamické: DAG-y môžu byť generované dynamicky.
- Rozšíriteľné: Jednoducho vytvárať vlastné operatori a hooky.
- Škálovateľné: Architektúra umožňuje škálovať systém.
- Používateľské rozhranie: Priateľské webové rozhranie na sledovanie a správu.