BI Consult
  • Перейти на QlikSense
  • Перейти на QlikView
  • Перейти на Tableau
  • Перейти на Power BI
  • Контакты
  • +7 812 334-08-01
    +7 499 608-13-06
  • EN
  • Отправить сообщение
  • Главная
  • Продукты Business-Qlik
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Страхование
    • Банки
    • Лизинг
    • Логистика
    • Нефтегазовый сектор
    • Медицина
    • Сеть ресторанов
    • Энергетика
    • Фрод-менеджмент
    • E-Commerce
    • Фармацевтика
    • Построение хранилища данных
    • Создание Data Lake
    • Цифровая трансформация
    • Управление по KPI
    • Финансы
    • Продажи
    • Склад
    • HR
    • Маркетинг
    • Внутренний аудит
    • Категорийный менеджмент
    • S&OP и прогнозная аналитика
    • Геоаналитика
    • Цепочки поставок (SCM)
    • Process Mining
    • Сквозная аналитика
  • Платформы
    • Qlik Sense
    • QlikView
    • Tableau
    • Microsoft Power BI
    • Геоаналитика Qlik GeoAnalytics
    • Qlik NPrinting - рассылка отчетности QlikView/Qlik Sense
    • KliqPlanning Suite - бюджетирование в QlikView
    • ATK BiView-1C Коннектор (для Qlik/Tableau/PowerBI)
    • QlikView/Qlik Sense SAP Коннектор
    • QlikView R-Коннектор
    • Qlik Web Connectors - коннектор Google, Facebook, Twitter
    • Vizlib Qlik Sense extentions (библиотека экстеншнов)
    • Библиотека extention для Qlik
    • Qlik Alerting
    • Qlik Data Integration Platform - создание Data Lake
    • Qlik Data Catalog решение для Data Governance
    • ATK BiView документация
  • Услуги
    • Консалтинг
    • Пилотный проект
    • План обучения и сертификации
    • Подготовка специалистов по Qlik
    • Бесплатное обучение Qlik
    • Сертификация Qlik
    • Поддержка
    • Технические задания
    • Сбор требований для проекта внедрения BI-системы
    • Аудит приложений Qlik и Tableau
    • Разработка BI Стратегии
    • Styleguide для BI-системы
    • Как выбрать BI-систему
  • Курсы
    • Учебный курс по Qlik Sense
    • Учебный курс по Tableau
    • Учебный курс по Microsoft Power BI
    • Учебный курс Информационная грамотность (Data Literacy)
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс для бизнес-аналитиков
    • Учебный курс по NPrinting
    • Учебный курс по BigQuery
    • Учебный курс по Azure Databricks
    • Учебный курс по DWH
    • Учебный курс по Data Governance
    • Учебный курс по Data Science (ML, AI)
    • Учебный курс администратора Qlik Sense
  • Компания
    • Руководство
    • Новости
    • Клиенты
    • Карьера
    • Скачать
    • Контакты

Услуги

  • Консалтинг
    • Продуктивный и согласованный анализ закупок, продаж и маркетинговых активностей в Fashion-Retail
    • Тренинг «S&OP для производственно-торговых компаний»
    • Проект внедрения Qlik
  • План обучения и сертификации
    • Учебные курсы Qlik
    • Учебные курсы Tableau
    • Учебные курсы Microsoft PowerBI
  • Бесплатное обучение
  • Сертификация Qlik
  • Пилотный проект
  • Сопровождение и поддержка
  • Технические задания
  • Сбор требований для проекта внедрения BI-системы
  • Аудит приложений QlikView / Qlik Sense / Tableau
  • Разработка BI Стратегии
    • Становясь Data-Driven организацией: скрытые возможности и проблемы
  • Styleguide для BI-системы
  • Как выбрать подходящую современную BI-систему

Отраслевые решения

  • Дистрибуция
    • Business-Qlik Дистрибуция
  • Розничная торговля
    • Business-Qlik Розничная торговля
    • Business-Qlik Розничная торговля: DIY
    • Business-Qlik Розничная торговля: Fashion
    • Business-Qlik для сетей аптек
    • BusinessPack для Tableau: POS - Point of Sales Perfomance
  • Производство
    • Business-Qlik Производство
  • Операторы связи
  • Банки
    • Business-Qlik for Banking на базе QlikView/Qlik Sense
    • Бизнес-аналитика в банке
  • Страхование
  • Фармацевтика
    • Business-Qlik Фармацевтика
  • Нефтегазовый сектор
  • Лизинг
  • Логистика
  • Медицина
  • Сеть ресторанов
  • Энергетика
  • E-Commerce
  • Анализ мошенничеств (фрод-менеджмент)

Функциональные решения

  • Управление по KPI
    • Самоуправляемая компания
  • Финансы
    • Бюджетирование
    • Консолидация финансовой отчетности
    • Панель управления, KPI для CFO
    • Рабочий капитал
    • Финансовая отчетность по МСФО
    • Платежный календарь / прогнозный ДДС
  • Продажи
    • Анализ данных из CRM
    • Планирование
  • Склад
  • Категорийный менеджмент
  • HR
  • Маркетинг
  • Внутренний аудит
  • Построение хранилища данных
  • Геоаналитика, аналитика на географической карте
  • Цепочка поставок (SCM)
  • S&OP и прогнозная аналитика
    • Прогнозная аналитика
    • Прогноз спроса на основании данных о вторичных продажах
  • Разработка стратегии цифровой трансформации
  • Сквозная аналитика
  • Process Mining
Главная » Курсы » Учебный курс Современная архитектура хранилища данных

Что такое Apache Flink

Apache Flink является распределенной платформой обработки данных с открытым исходным кодом, разработанной Apache Software Foundation для использования данных в больших приложениях, прежде всего, для анализа данных, хранящихся в кластерах Hadoop. Поддерживает комбинацию обработки в оперативной памяти и на основе диска.

 

История развития

Flink, что на немецком языке означает быстрый или проворный, является открытым исходным кодом платформы для распределенного потока и пакетной обработки данных. Первоначально названный Стратосфера (2010) перед добавлением в программу инкубатор от Apache (2014), Flink был разработан в Техническом университете Берлина, чтобы быть заменой для Hadoop MapReduce (в рамках программного обеспечения для распределенных вычислений больших наборов данных), используя подход ориентированного графа, устраняя необходимость в отображении и сокращения.

 

Архитектура

Архитектура Apache Flink изображена на рисунке 1.

Рисунок 1 – Архитектура Apache Flink

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

Flink предлагает готовые коннекторы с Apache Kafka, Amazon Kinesis, HDFS, Apache Cassandra и др.

 

Потоковая и пакетная обработка данных

Flink может работать как в пакетном режиме, так и в потоковом режиме.

  • Потоковый режим предназначен для обработки неограниченных потоков данных. Неограниченные потоки имеют начало, но их конец не определен. Они не прерываются и предоставляют данные по мере их создания. Неограниченные потоки должны непрерывно обрабатываться, т. е. события должны быть оперативно обработаны после их поступления. Невозможно дождаться появления всех входных данных, поскольку вход неограничен и не будет завершен в какой-то момент времени. Обработка неограниченных данных часто требует, чтобы события принимались в определенном порядке, например, в порядке, в котором происходили события, чтобы иметь возможность обосновать полноту результата.
  • В пакетном режиме обрабатываются потоки данных, которые имеют определенные начальные и конечные значения. Такие потоки могут обрабатываться путем проглатывания всех данных перед выполнением любых вычислений. Для их обработки упорядоченный прием не требуется, потому что ограниченный набор данных всегда можно отсортировать.

Точное управление временем и состоянием позволяет использовать среду Flink для запуска любого приложения в потоковом режиме. Ограниченные потоки данных обрабатываются внутренними алгоритмами и структурами данных, которые предназначены именно для наборов данных фиксированного размера, что дает отличную производительность.

 

Интеграция

Flink интегрируется со всеми основными системами управления кластерами, такими как Hadoop YARN, Apache Mesos и Kubernetes, а также может быть настроен для работы в качестве автономного кластера.

Это достигается с помощью режимов развертывания, которые позволяют Flink взаимодействовать с каждым менеджером ресурсов по своему идиоматическому пути.

При развертывании приложения Flink автоматически идентифицирует требуемые ресурсы на основе настроенного параллелизма приложения и запрашивает их из системы управления кластером. В случае сбоя Flink заменяет контейнер, запрашивая новые ресурсы. Отправка и управление приложением происходит через REST. Это облегчает интеграцию Flink в различных средах.

 

Запуск крупномасштабных приложений

Flink предназначен для запуска приложений с непрерывным потоком данных в любом масштабе. Приложения могут распараллеливаться в тысячи задач, которые распределяются и выполняются в кластере одновременно. Таким образом, приложение может использовать практически неограниченное количество процессоров, основной памяти, дискового и сетевого ввода-вывода. Кроме того, Flink легко поддерживает очень большое состояние приложения. Его асинхронный и инкрементный контрольный алгоритм обеспечивает минимальное влияние на задержки обработки, гарантируя точную согласованность состояния за один раз.

По словам пользователей приложения, запущенные с помощью Flink, которые работают в их производственных средах, могут:

  • обрабатывать несколько триллионов событий в день;
  • поддерживать несколько терабайт состояния;
  • работать на тысячах ядер.

 

Эффективное использование памяти

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

 

API

Apache Flink включает в себя два основных API: DataStream API для ограниченных или неограниченных потоков данных и DataSet API для ограниченных наборов данных. Flink также предлагает Table API, который является SQL-подобным языком выражения для реляционного потока и пакетной обработки, который может быть легко встроен в DataStream API и DataSet API. Язык высокого уровня, поддерживаемый Flink, - это SQL, который семантически похож на Table API и представляет собой программы в виде SQL-запросов.

DataStream API позволяет преобразовывать объекты (например, фильтры, агрегации, оконные функции) в ограниченные или неограниченные потоки данных. API DataStream включает в себя более 20 различных типов преобразований и доступен в Java и Scala.

DataSet API позволяет преобразовывать объекты (например, фильтры, сопоставления, объединения, группировки) в ограниченные наборы данных. DataSet API включает в себя более 20 различных типов преобразований и доступен в Java, Scala и экспериментальном Python API. DataSet API концептуально похож на DataStream API.

Table API - это SQL-подобный язык выражений, предназначенный для реляционных потоков и пакетной обработки, который может быть встроен в Java и Scala DataSet API и DataStream API. Table API и интерфейс SQL работают с реляционной абстракцией Table. Таблицы могут быть созданы из внешних источников данных или из существующих DataStreams и DataSets. Table API поддерживает реляционные операторы, такие как выбор, агрегация и объединение в таблицах.

Данные из таблиц также могут запрашиваться с помощью обычного SQL. Table API и SQL предлагают эквивалентную функциональность и могут использоваться одновременно в одной и той же программе. Когда таблица преобразуется обратно в DataSet или DataStream, логический план, который был определен реляционными операторами и SQL-запросами, оптимизируется с использованием Apache Calcite и преобразуется в программу DataSet или DataStream.

 

Другие особенности

Также Apache Flink обладает следующими свойствами:

  • Высокая производительность и низкое время ожидания
  • Поддержка временных событий и неисправных событий
  • Особо гибкие потоковые окна
  • Непрерывная потоковая модель передачи с обратным воздействием
  • Отказоустойчивость
  • Одна среда выполнения для потоковой передачи и пакетной обработки
  • Управление памятью
  • Число итераций и Delta-Итерации
    • Специализированная поддержка для итерационных вычислений (машинное обучение, анализ графика)
    • Delta-Итерации используют вычислительные зависимости для более быстрой сходимости
  • Программа оптимизатор
  • приложения потоковой передачи данных (DataStream API)
  • приложений пакетной обработки данных (DataSet API)
  • Библиотека экосистемы для машинного обучения, аналитических графиков и реляционной обработки данных

 

Конкуренты

У Apache Flink имеются конкурентные продукты. Далее представлен список этих продуктов.

  • Hadoop MapReduce
  • Apache Spark
  • Apache Storm
  • Apache Tez
  • Apache Apex

 

Анализ Apache Flink

Одна из более гибких опций - это анализ больших данных (см. рисунок 2), так как Apache Flink предлагает распределять на потоковую обработку и на пакетную обработку данных.

Рисунок 2 – Анализ больших данных

 

Достоинства

Можно выделить ряд достоинств Apache Flink:

  • Способен выполняться в обоих режимах
  • обработка и аналитика данных в режиме реального времени
  • Высокая производительность и низкое время ожидания
  • Отказоустойчивость
  • Одна среда для потоковой передачи и пакетной обработки
  • Имеет систему управления собственной памяти
  • Итерационные вычисления
  • Автоматически собирает и оптимизирует программы
  • Совместимость с:
    • Работает на YARN
    • Работает с HDFS
    • потоками данных от Kafka
    • Можно выполнить программный код Hadoop
    • Apache HBase
    • Google Cloud Platform
    • Tachyon
    • пакет совместимости с Storm
  • Предложения API-интерфейсов в Java и Scala, которые являются "очень простыми в использовании"
  • Активно поддерживается (последний стабильный выпуск был 29 ноября 2018 г.)

 

Недостатки

Однако Apache Flink обладает рядом недостатков, таких как:

  • Не обеспечивает собственную систему хранения данных
  • Данные должны храниться в распределенных системах хранения данных, как HDFS или HBase
  • Входные данные берутся из очередей сообщений, как Kafka
  • Библиотеки все еще в бета-режиме

 

Установка

Установка Java

Apache Flink требует установки Java.

  • Установка Python Software
$ sudo apt-get install python-software-properties
  • Добавить в репозиторий
$ sudo add-apt-repository ppa:webupd8team/java
  • Обновление списка
$ sudo apt-get update
  • Установка Java
$ sudo apt-get install oracle-java7-installer
  • Проверка установки. Чтобы проверить завершена ли успешно установка Java и какая версия установлена, используется следующая команда.
$ java -version

 

Установка Apache Flink

Установка непосредственно Apache Flink происходит так:

  • Скачивание Apache Flink

Вы можете скачать Apache Flink с официального сайта.

  • Распаковка файла установки

Переместить загруженный установочный файл в домашний каталог и запустить следующую команду для извлечения Flink:

$ tar xzf flink-1.1.3-bin-hadoop1-scala_2.10.tgz
  • Переименование каталога установки
$ mv flink-1.1.3/ flink

Чтобы запустить Apache Flink надо перейти в каталог Apache Flink

$ cd flink
  • Начало работы Apache Flink

Для запуска Apache Flink в локальном режиме используйте следующую команду

/flink$ bin/start-local.sh
  • Проверка состояния

Проверьте состояния запущенных служб

/flink$ jps

Должен быть следующий вывод:

6740 Jps
6725 JobManager

Чтобы запустить Apache Flink используйте localhost:8081

 

 

 

Узнать стоимость решенияЗапросить видео презентацию

Запросить видео презентацию Запросить доступ к демо стенду online

Задать вопрос

loading...

Решения

Анализировать ФинансыУвеличивайте ПродажиОптимальный Склад и ЛогистикаМаркетинговые Метрики

Клиенты

  • Аргус-Спектр

    Анализ эффективности отдела планирования; анализ эффективности деятельности компании.

  • Сбер банк

    В 2016 году в ПАО «Сбербанк» стартовало внедрение BI-платформы Qlik, которая уже стала инструментом принятия решений на основе данных для более чем 20 тысяч сотрудников розничного бизнеса банка.

  • ETNA Software

    Анализ времени работы сотрудников в разрезах; анализ исправления ошибок (bugfixing): количество ошибок, скорость и время их исправление, в разрезах клиенты, проекты, работники, задачи; анализ биллинга отдела продаж.

  • Линзмастер

    Детальный анализ заказов и оплат клиентов компании; анализ эффективности рабочего времени сотрудников на местах; анализ эффективности проводимых акций; реализация складской аналитики; перенос существующей аналитики из Oracle BI в QlikView; реализация аналитики для выявления аномалий, ошибок и подозрительных ситуаций,прогнозирование производства в QlikView, прогнозирование производства продукции в QlikView, прогнозирование объема производства в QlikView, прогнозирование издержек производства в QlikView.

  • Решения
    • Дистрибуция
    • Розничная торговля
    • Производство
    • Операторы связи
    • Банки
    • Страхование
    • Фармацевтика
    • Лизинг
    • Логистика
    • Медицина
    • Нефтегазовый сектор
    • Сеть ресторанов
  • Продукты
    • Qlik Sense
    • QlikView
    • Tableau
    • Microsoft Power BI
    • ATK BiView-1C Коннектор (для Qlik/Tableau/PowerBI)
    • Vizlib Qlik Sense extentions (библиотека экстеншнов)
    • NPrinting
    • Геоаналитика Qlik GeoAnalytics
    • KliqPlanning Suite
    • Qlik WebConnectors
    • QlikView R Коннектор
    • QlikView/Qlik Sense SAP Коннектор
    • Alteryx
    • Qlik Data Catalog
    • Документация ATK BiView
  • Услуги
    • Консалтинг
    • Пилотный проект
    • Поддержка
    • План обучения и сертификации Qlik
    • Бесплатное обучение
    • Учебные курсы
    • Сертификация Qlik
    • Аудит приложений
  • Курсы
    • Учебный курс по Qlik Sense
    • Учебный курс по Tableau
    • Учебный курс по Microsoft Power BI
    • Учебный курс Современная архитектура хранилища данных
    • Учебный курс Информационная грамотность
    • Учебный курс для бизнес-аналитиков
    • Учебный курс по NPrinting
    • Учебный курс по Azure Databricks
    • Учебный курс по Google BigQuery
  • Компания
    • О нас
    • Руководство
    • Новости
    • Клиенты
    • Скачать
    • Контакты
  • Функциональные решения
    • Продажи
    • Финансы
    • Склад
    • HR
    • S&OP и прогнозная аналитика
    • Внутренний аудит
    • Геоаналитика
    • Категорийный менеджмент
    • Построение хранилища данных
    • Система управления KPI и BSC
    • Управление цепочками поставок
    • Маркетинг
    • Цифровая трансформация
    • Сквозная аналитика
    • Process Mining
QlikView Partner
LinkedInYouTubeVkontakteFacebook
ООО "Би Ай Консалт",
ИНН: 7811437757,
ОГРН: 1097847154184
199178, Россия,
Санкт-Петербург,
6-ая линия В.О., Д. 63, 4 этаж
Тел: +7 (812) 334-08-01
Тел: +7 (499) 608-13-06
E-mail: info@biconsult.ru