Flink достигает статуса верхнего уровня


Язык обработки данных, разрабатываемый Apache Software Foundation, получил статус верхнего уровня. Flink имеет открытый исходный код, имеет API-интерфейсы для Java и Scala, а со специализированными API-интерфейсами для обработки графов предлагается в качестве альтернативы MapReduce.

Он также имеет собственную среду выполнения и может использоваться для доступа к распределенной файловой системе Hadoop и диспетчеру ресурсов YARN. Его можно скачать со страницы инкубатора Apache.

Написав о новом языке в блоге Data Artisans, разработчики, работающие над проектом Flink, говорят, что он обеспечивает новый подход к распределенной обработке данных для экосистемы Hadoop:

«Мы считаем, что Flink олицетворяет следующий шаг в эволюции механизмов распределенных вычислений в системе Hadoop. Flink построен по принципу: пишите как язык программирования, выполняйте как базу данных ».

Команда Data Artisans заявляет, что хотя Flink прост в использовании для программистов, которые знакомы с текущими популярными инструментами в экосистеме Hadoop, он предлагает несколько инновационных функций, которые делают его приложения быстрыми, надежными и простыми в обслуживании.

Пользователи Flink пишут программы, используя один из его API. В дополнение к Java и Scala в текущем выпуске есть Spargel, API, реализующий модель программирования Pregel. Другие API, такие как Python API и API потоковой передачи данных, находятся в стадии разработки. API Flink в основном следуют знакомой модели массовых преобразований распределенных коллекций объектов, первоначально популяризированной MapReduce и расширенной Apache Spark.

Что отличает Flink от других доступных систем обработки DAG, так это то, что он сочетает в себе настоящие приложения потоковой и пакетной обработки в одной системе и имеет встроенный механизм для циклического перебора данных, который делает приложения машинного обучения и графов особенно быстрыми.

В сообщении блога говорится, что

«Современные механизмы обработки данных предназначены для наилучшей работы в одном из двух случаев: когда рабочий набор полностью умещается в памяти или когда рабочий набор слишком велик, чтобы поместиться в памяти».

Он также утверждает, что среда выполнения Flink имеет отличную производительность, когда рабочий набор умещается в памяти, но все же может справляться с «нехваткой памяти» из-за больших наборов данных, которые не помещаются в памяти, или из других кластерных приложений, которые выполняются одновременно и потребляют объем памяти.

Код, который вы пишете, на самом деле не является кодом, который выполняется. Вместо этого выполнению задания в Flink предшествует фаза оптимизации на основе затрат, которая генерирует исполняемый код. На этом этапе выбирается план выполнения для программы, адаптированный к конкретным наборам данных (с использованием статистики данных) и кластеру, на котором будет выполняться программа. Этот этап означает, что приложение может использоваться с базовыми изменениями данных и изменениями использования кластера без необходимости переписывать или перенастраивать для отражения этих изменений.


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