Apache Airflow

Programmatically author, schedule, and monitor workflows using directed acyclic graphs to orchestrate complex data pipelines.

Apache Airflow screenshot 1

Apache Airflow is an open-source platform used to programmatically author, schedule, and monitor workflows. It allows users to define workflows as Directed Acyclic Graphs (DAGs) using Python code, which ensures that pipelines remain maintainable, versionable, and testable. The software is deployed as a server application that manages the execution of tasks across an array of workers based on specified dependencies.

The system includes a scheduler that handles the timing and order of task execution and a web user interface for visualizing pipelines in production. It is primarily used for data engineering tasks, such as ETL and ELT processes, where it orchestrates the movement and transformation of data. While it is not a streaming solution, it is frequently used to process real-time data by pulling information from streams in batches.

Key features

  • Programmatic workflow definition using Python code
  • Visualization of pipelines and progress through a web interface
  • Task orchestration via Directed Acyclic Graphs (DAGs)
  • Dynamic pipeline generation and parameterization
  • Integration with the Jinja templating engine for customization
  • Built-in operators for a wide range of common tasks
  • Metadata exchange between tasks using the XCom feature
  • Command line utilities for managing and modifying DAGs

Airflow is designed for workflows that are mostly static and change slowly over time. It operates on the principle that tasks should be idempotent to avoid duplicated data in destination systems. For high-volume or data-intensive operations, the architecture encourages delegating the actual processing to external specialized services while Airflow manages the orchestration logic. The platform is compatible with POSIX-compliant operating systems and supports databases such as PostgreSQL and MySQL for metadata storage. It can be run on Linux distributions, macOS, or via WSL2 and containers on Windows.

The software is intended for data engineers and data scientists who need a flexible framework to automate complex data pipelines, machine learning workflows, and general job scheduling.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity14 days ago
Repository Age11 years
LicenseApache-2.0
Open Source Alternative to
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.