Был выпущен Apache Flink 0.10.0 с улучшениями для обработки потока данных, поддержкой потоковой передачи во время события и однократной обработки.
Apache Flink — это платформа с открытым исходным кодом для распределенной потоковой и пакетной обработки данных. Он состоит из механизма потоковых данных, который обеспечивает распределение данных, обмен данными и отказоустойчивость для распределенных вычислений по потокам данных. Flink включает несколько API, включая DataSet API для статических данных, встроенных в Java, Scala и Python; API DataStream для неограниченных потоков, встроенных в Java и Scala; и API таблиц с SQL-подобным языком выражений, встроенным в Java и Scala.
В новой версии DataStream API был обновлен с его прежнего бета-статуса, и разработчики работали над тем, чтобы сделать Apache Flink готовым к работе процессором потоковых данных с конкурентоспособным набором функций. На практике это означает поддержку потоков во время событий и потоков с нарушением порядка, гарантии единовременного использования в случае сбоев, гибкого механизма управления окнами, сложного управления состоянием оператора и режима работы кластера с высокой доступностью. Также была добавлена новая панель мониторинга с системой реального времени и возможностями мониторинга заданий.
Обработка потока времени события предназначена для источников данных, которые создают события со связанными отметками времени, такими как события датчика или взаимодействия с пользователем. Такие данные часто берутся из нескольких источников, что означает, что события приходят не по порядку с точки зрения их временных меток. Потоковому процессору необходимо расположить их в правильном порядке, а новая версия поддерживает обработку во время событий, а также обработку во время приема и обработки.
Также поддерживается потоковая обработка с отслеживанием состояния, так что Flink может поддерживать и обновлять информацию о состоянии в долго работающих приложениях, в которых состояние оператора должно регулярно сохраняться в постоянное хранилище. Flink 0.10.0 предлагает гибкие интерфейсы для определения, обновления и запроса состояния оператора, а также хуки для подключения различных серверных модулей состояния.
Еще одно улучшение — поддержка режимов высокой доступности для автономных кластеров и настроек YARN. Эта функция использует Apache Zookeeper для выбора лидера и сохранения небольших метаданных о выполняемых заданиях.
API DataStream также был переработан с улучшением секционирования потока и оконных операций, с назначением окон, триггерами и механизмами вытеснения. Также появились новые соединители для потоков данных, в том числе одноразовый скользящий приемник файлов, который поддерживает любую файловую систему, включая HDFS, локальную FS и S3. Производитель Apache Kafka был обновлен для использования нового API производителя, а также добавлены соединители для ElasticSearch и Apache Nifi.
Новая веб-панель управления и поддержка мониторинга в режиме реального времени позволяют отслеживать ход выполнения заданий и просматривать статистику объемов обработанных данных и количество записей в режиме реального времени. Он также предоставляет доступ к использованию ресурсов и статистике JVM диспетчеров задач, включая использование кучи JVM и сведения о сборке мусора.
Другие улучшения включают поддержку управляемой памяти вне кучи; возможность работы с внешними стыками; и улучшения Gelly, API Flink и библиотеки для обработки и анализа крупномасштабных графиков.
Сообщество Flink провело свою первую конференцию в октябре, и слайды и видео с сессии доступны на веб-сайте, если вы хотите узнать больше о Flink.