Подтвердить что ты не робот

Что такое Apache Beam?

Я проходил через сообщения Apache и нашел новый термин под названием Beam. Может ли кто-нибудь объяснить, что такое Apache Beam? Я попробовал google, но не смог получить четкий ответ.

4b9b3361

Ответ 1

Apache Beam - это унифицированная модель с открытым исходным кодом для определения и исполнения как пакетных, так и потоковых потоков параллельной обработки данных, а также набор специфических для языка SDK для построения конвейеров и определенных для выполнения Runners для их выполнения.

История: модель за Beam развивалась из ряда внутренних проектов обработки данных Google, включая MapReduce, FlumeJava и Millwheel. Эта модель изначально была известна как "Модель потока данных "и сначала реализована как Google Cloud Dataflow - в том числе Java SDK на GitHub для написания конвейеров и полностью управляемой службы для их выполнения в облачной платформе Google. Другие в сообществе начали писать расширения, в том числе Spark Runner, Flink Runner и Scala SDK. В январе 2016 года Google и ряд партнеров представили модель программирования потока данных и часть SDK как инкубатор Apache Proposal под названием Apache Beam (унифицированная обработка Batch + strEAM). Apache Beam закончил с момента инкубации в декабре 2016 года.

Дополнительные ресурсы для изучения модели луча:

Ответ 2

Apache Beam (Batch + strEAM) - это модель и набор API для обработки пакетных и потоковых данных. Он был открыт с помощью Google (с Cloudera и PayPal) в 2016 году через проект инкубатора Apache.

Страница Dataflow/Beam и Spark: Сравнение модели программирования - Cloud Dataflow сравнивает API-интерфейс Beam с Apache Spark, который был чрезвычайно успешным в создании современного гибкого API и набора методов оптимизации для пакетной и потоковой передачи в мир Hadoop и за его пределами.

Beam пытается сделать еще один шаг вперед с помощью модели, которая позволяет легко описать различные аспекты обработки вне порядка, что часто является проблемой при объединении пакетной и потоковой обработки, как описано в этом сравнении программных моделей.

В частности, чтобы привести цитату из сравнения, модель Dataflow предназначена для решения, элегантно и с более модульной, надежной и простой в обслуживании:

... четыре критических вопроса, которые все специалисты по обработке данных должны пытаться ответить при построении своих конвейеров:

  • Какие результаты рассчитаны? Суммы, объединения, гистограммы, модели машинного обучения?
  • Где в момент времени рассчитываются результаты? Влияет ли время, когда каждое событие изначально повлияло на результаты? Являются ли результаты агрегированы в фиксированных окнах, сеансах или в одном глобальном окне?
  • Когда во время обработки результаты материализуются? Получает ли время, которое каждое событие наблюдается в системе, влияет на результаты? Когда результаты испускаются? В частности, по мере развития данных? Когда данные задерживаются, и результаты должны быть пересмотрены? Некоторая комбинация из них?
  • Как связаны уточнения результатов? Если дополнительные данные поступают и результаты меняются, они независимы и различны, они строят друг на друга и т.д.?

Конвейеры, описанные в Beam, могут, в свою очередь, запускаться в Spark, Flink, Google Dataflow, предлагаемом в облаке, и в других "времяпровождениях", включая опцию "Прямой" локальный компьютер.

Архитектура поддерживает множество языков. Java SDK доступен сейчас. Dataflow Python SDK близок к выпуску, а другие предусмотрены для Scala и т.д.

Смотрите источник в Зеркало Apache Beam