Apache Flink


Apache Flink — фреймворк с открытым исходным кодом для реализации обработки потоков, разработанный фондом Apache Software Foundation.

В основу фреймворка положен движок для обработки процессов, написанный на языках Java и Scala[4][5]. Flink поддерживает программирование потоков данных как в параллельном режиме, так и в конвейерном режиме (pipeline)[6]. В конвейерном режиме (pipeline) Flink позволяет реализовать последовательность заданий (batch) и поток заданий (stream)[7][8]. Flink поддерживает также итерационные алгоритмы естественным образом[9].

Flink обладает высокой пропускной способностью и низкими задержками[10], потоки могут активизироваться от событий и сохранять статус. Задачи в системе Flink устойчивы к отказам и используют строго одну семантику[11]. Программы для фреймворка можно писать на языках Java, Scala[12], Python[13] и SQL[14], задания автоматически компилируются и оптимизируются[15], работая как в кластерах, так и в облачном сервере[16].

Flink не обладает собственной системой хранения данных, но использует источники данных и коннекторы типа Amazon Kinesis, Apache Kafka, Alluxio, HDFS, Apache Cassandra и ElasticSearch[17].

Разработка Apache Flink проводилась в рамках лицензии Apache 2.0[18] сообществом Apache Flink в составе Apache Software Foundation. Проект вели 25 основных разработчиков и более 340 программистов-вкладчиков.

Первоначальные разработчики Apache Flink основали фирму Data Artisans, в которую вошли 12 основных разработчиков[19][20].