Flink — это распределенная, высокопроизводительная, доступная и точная платформа обработки потоков с открытым исходным кодом. В основном реализуется кодом Java, поддерживает потоковую обработку в реальном времени и пакетную обработку, пакетные данные являются лишь предельным случаем потоковых данных. Поддерживаются итеративные вычисления, управление памятью и оптимизация программы.
Важно помнить, что Flink — это платформа обработки потоков, поддерживающая обработку в реальном времени.
Особенности Флинка
Левая часть изображения — это источник данных, а правая сторона — место, куда данные могут быть выведены.
- Сначала потоковая передача: Flink — это платформа для потоковой передачи, которая обеспечивает непрерывную обработку потоковых данных.
- Отказоустойчивость: существует механизм отказоустойчивости, который может обеспечить вычисление данных с отслеживанием состояния, запись состояния данных и восстановление исходного состояния в случае сбоя обработки данных.
- Масштабируемость: может поддерживать тысячи узлов
- Производительность: высокая пропускная способность, низкая задержка и высокая пропускная способность означают, что эта программа может обрабатывать большой объем данных в единицу времени и обрабатывать их за очень короткое время.
Флинк Архитектура
Flink — многоуровневая система.
- На уровне развертывания: вы можете щелкнуть, сгруппировать, развернуть в облаке, есть много сценариев YARN в работе.
- На уровне ядра: есть движок распределенной потоковой обработки данных
- На уровне API: есть потоковые API и пакетные API. Потоковая передача поддерживает обработку событий, операции с таблицами. Пакетная обработка поддерживает машинное обучение, графические вычисления и операции с таблицами.
основные компоненты
Посмотрите, какие компоненты есть у Flink
- Во-первых, должен быть источник данных, отвечающий за получение данных
- Середина — это часть, где выполняется расчет, а именно место, где обрабатываются данные.
- Там, где выводятся окончательные данные, где-то хранить результаты
Потоковая и пакетная обработка
Самая большая разница между системой потоковой обработки и пакетной системой заключается в методе передачи данных между узлами.Эти два режима передачи данных являются двумя крайностями, соответствующими требованиям к низкой задержке системы потоковой обработки и высокой пропускной способности системы пакетной обработки. .
-
Для системы потоковой обработки стандартная модель передачи данных между узлами такова: когда часть данных обрабатывается, она сериализуется в кэш, а затем сразу передается на следующий узел по сети, а следующий узел продолжает обработку
-
Для пакетной системы стандартная модель передачи данных между узлами такова: когда часть данных обрабатывается, она сериализуется в кеш, а не сразу передается на следующий узел по сети. После обработки всех данных обработанные данные будут переданы на следующий узел по сети.
Исполнительный механизм Flink поддерживает обе модели передачи данных.
-
Flink выполняет передачу сетевых данных в единицах фиксированных блоков кэша.Пользователи могут указать время передачи блоков кэша, установив значение времени ожидания блока кэша. Если значение времени ожидания блока кэша равно 0, метод передачи данных Flink подобен стандартной модели системы потоковой обработки, упомянутой выше, и система может получить наименьшую задержку обработки.
-
Если значение тайм-аута кэш-блока бесконечно, метод передачи данных Flink подобен стандартной модели пакетной системы, упомянутой выше, и система может получить максимальную пропускную способность в это время.
-
В то же время значение тайм-аута блока кэша также может быть установлено на любое значение от 0 до бесконечности. Чем меньше порог тайм-аута для кэш-блоков, тем ниже задержка обработки данных механизма выполнения потоковой обработки Flink, но ниже пропускная способность, и наоборот. Настраивая порог тайм-аута блоков кэша, пользователи могут гибко выбирать системную задержку и пропускную способность в соответствии со своими потребностями.
наконец
Изучите знания о больших данных, здесь в основном представлены основные принципы и сценарии использования Flink.