Apache Beam — це відкрита уніфікована модель програмування, призначена для визначення та виконання конвеєрів обробки даних (data processing pipelines). Вона підтримує як пакетну обробку (ETL), так і потокову (Stream processing).

Проєкт розвивається під егідою Apache Software Foundation. Назва "Beam" походить від поєднання слів Batch (пакет) та stream (потік).

Історія Apache Beam є однією з реалізацій моделі Dataflow. Вона базується на попередніх внутрішніх розробках компанії Google, таких як FlumeJava та MillWheel.

У 2014 році Google відкрила вихідний код SDK для Dataflow, а у 2016 році передала проєкт до інкубатора Apache Software Foundation.

Архітектура Головна особливість Apache Beam — це відокремлення логіки обробки даних від середовища виконання. Це дозволяє написати код один раз і запускати його на різних платформах.

Основними компонентами є: **Pipeline (Конвеєр)** — весь процес обробки даних. **PCollection** — набір даних, що передається між кроками. **Runners (Рушії)** — платформи, де виконується код (наприклад, Apache Spark, Apache Flink або Google Cloud Dataflow).

Підтримувані мови (SDK) Java Python Go TypeScript (експериментальна підтримка)

Див. також Apache Software Foundation Big Data

Примітки

Посилання (англ.) Репозиторій на GitHub