Apache Beam переходит на Java 8


Apache Beam, пакет SDK для программирования с открытым исходным кодом для определения конвейеров пакетной и потоковой параллельной обработки данных, теперь доступен в новой версии, которая переходит на Java 8 и Spark 2.x.

Apache Beam имеет несколько пакетов SDK Beam, которые можно использовать для создания программы, определяющей конвейер. Затем это выполняется одним из поддерживаемых серверных компонентов распределенной обработки Beam, который включает Apache Apex, Apache Flink, Apache Spark и Google Cloud Dataflow. Beam начал свою жизнь в Google и используется как сервис Google Cloud Dataflow (GCD). Beam использует тот же API, что и GCD.

Последняя версия теперь использует Java 8 в качестве поддерживаемой версии Java, а код и примеры в Beam были переработаны, чтобы использовать преимущества улучшений в Java 8, таких как лямбды, потоки и улучшенный вывод типов.

Средство запуска Spark от Beam также было обновлено до линии разработки Spark 2.x для повышения производительности и будущей совместимости с API структурированной потоковой передачи. Beam Pipeline Runners переводят конвейер обработки данных, который вы определяете с помощью своей программы Beam, в API, совместимый с выбранным вами сервером распределенной обработки.

Также была улучшена поддержка AWS S3. В предыдущих версиях AWS S3 поддерживался через HadoopFileSystem, но в новом выпуске добавлена встроенная поддержка S3, что повысило производительность.

Последнее заметное улучшение — это добавление Splittable DoFn API для Python SDK и поддержка Splittable DoFn для Python streaming DirectRunner.

DoFn — это класс Beam SDK, который определяет функцию распределенной обработки. Объект DoFn содержит логику обработки, которая применяется к элементам во входной коллекции. Он обрабатывает один элемент за раз. Splittable DoFn — это обобщение DoFn, которое можно использовать для разработки более мощных соединителей ввода-вывода, чем раньше, с более коротким, простым и многократно используемым кодом.


Добавить комментарий