Apache Beam

Apache Beam
АвторGoogle
РозробникApache Software Foundation
Перший випуск15 червня 2016 (2016-06-15)
Стабільний випуск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)

  • Java
  • Python
  • Go
  • TypeScript (експериментальна підтримка)

Див. також

Примітки

  1. Akidau, Tyler (1 серпня 2015). The dataflow model. Proceedings of the VLDB Endowment. 8 (12): 1792—1803.

Посилання