Apache Beam
| Автор | |
|---|---|
| Розробник | Apache Software Foundation |
| Перший випуск | 15 червня 2016 |
| Стабільний випуск | 2.61.0 (25 листопада 2024) |
| Операційна система | Кросплатформна |
| Мова програмування | Java, Python, Go |
| Ліцензія | Apache License 2.0 |
| Репозиторій | github.com/apache/beam |
| Вебсайт | beam.apache.org |
Apache Beam — це відкрита уніфікована модель програмування, призначена для визначення та виконання конвеєрів обробки даних (data processing pipelines). Вона підтримує як пакетну обробку (ETL), так і потокову (Stream processing).
Проєкт розвивається під егідою Apache Software Foundation. Назва "Beam" походить від поєднання слів Batch (пакет) та stream (потік).
Історія
Apache Beam є однією з реалізацій моделі Dataflow.[1] Вона базується на попередніх внутрішніх розробках компанії Google, таких як FlumeJava та MillWheel.
У 2014 році Google відкрила вихідний код SDK для Dataflow, а у 2016 році передала проєкт до інкубатора Apache Software Foundation.
Архітектура
Головна особливість Apache Beam — це відокремлення логіки обробки даних від середовища виконання. Це дозволяє написати код один раз і запускати його на різних платформах.
Основними компонентами є:
- **Pipeline (Конвеєр)** — весь процес обробки даних.
- **PCollection** — набір даних, що передається між кроками.
- **Runners (Рушії)** — платформи, де виконується код (наприклад, Apache Spark, Apache Flink або Google Cloud Dataflow).
Підтримувані мови (SDK)
Див. також
Примітки
- ↑ Akidau, Tyler (1 серпня 2015). The dataflow model. Proceedings of the VLDB Endowment. 8 (12): 1792—1803.
Посилання
- Офіційний сайт (англ.)
- Репозиторій на GitHub
.svg.png)