1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zhuhuipei-flink-streaming-platform-web

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Этот проект занял третье место в соревновании Flink Forward Asia Hackathon (2021)

Альтернативные адреса статей внутри страны (из-за того что на GitHub могут отсутствовать изображения, вы знаете почему, ха-ха)

https://xie.infoq.cn/article/1af0cb75be056fea788e6c86b

GitHub адрес: https://github.com/zhp8341/flink-streaming-platform-web

Адрес на Gitee: https://gitee.com/zhuhuipei/flink-streaming-platform-web

Для получения платной техподдержки нажмите здесь

Описание проекта

Система flink-streaming-platform-web основана на Apache Flink и представляет собой визуализированную, легковесную web-клиентскую систему для управления потоками данных. Пользователи могут выполнять задачи потоковой обработки через конфигурацию SQL в веб-интерфейсе.

Основные возможности: включают конфигурирование задач, запуск/остановку задач, оповещения, логи и т.д., а также поддержка автозаполнения SQL, форматирования и проверки синтаксиса SQL.

Цель: уменьшение затрат на разработку, снижение стоимости и полная реализация задач потоковой обработки на основе SQL. 😂

Этот проект занял третье место в соревновании Flink Forward Asia Hackathon (2021).

Для просмотра эффекта работы WEB-страницы нажмите здесь.

Для получения техподдержки нажмите здесь

Основные возможности

  • [1] Поддерживает одиночные, двойные потоки и соединение с таблицами.
  • [2] Поддерживает режимы работы: локальный, yarn-per, STANDALONE и Application.
  • [3] Поддерживает каталоги и Hive.
  • [4] Поддерживает пользовательские UDF и соединители, полностью совместимые с официальными соединителями.
  • [5] Поддерживает онлайн-разработку SQL, автозаполнение, форматирование.
  • [6] Поддерживает оповещения через DingTalk, пользовательские обратные вызовы и автоматическое восстановление задач.
  • [7] Поддерживает загрузку задач через JAR.
  • [8] Поддерживает несколько версий Apache Flink (необходимо скомпилировать соответствующую версию Flink).
  • [9] Поддерживает автоматическую и ручную сохранность точки и восстановление задач из точки сохранения.
  • [10] Поддерживает задачи batch, такие как Hive.
  • [11] Управление JAR для соединителей и UDF.

Текущая версия Flink была обновлена до 1.16.7.

Если вам понравился этот проект, пожалуйста, нажмите "Star" в правом верхнем углу. Спасибо за вашу поддержку!🙏

Эффективность и документация кода

  1. Просмотреть эффективность работы WEB-страницы
  2. Документация кода

Для получения техподдержки нажмите здесь

Установка и настройка окружения

  1. Установка и развертывание Flink и flink-streaming-platform-web
  2. Выполнение и отладка в IDEA
  3. Контейнеризация Docker для создания образа (в качестве примера)
  4. Опыт использования flink-streaming-platform-web (на основе Docker) для тестирования
  5. Теоретически возможно использование Kubernetes, но требуется создание специального образа в зависимости от версии Flink (или Hadoop).

Для получения техподдержки нажмите здесь

Описание функциональностей

Конфигурация операций

  1. Руководство по использованию конфигурации SQL
  2. Руководство по использованию конфигурации JAR

Примеры конфигураций SQL

  1. Пример 1: Одиночный поток Kafka -> MySQL
  2. Пример 2: Двойной поток Kafka -> MySQL
  3. Пример 3: Соединение Kafka и MySQL с использованием материализованного представления
  4. Пример 4: Катушечный оконный механизм
  5. Пример 5: Смещающийся оконный механизм
  6. Пример 6: Пример использования JDBC CDC
  7. Пример 7: Введение Datagen
  8. Пример использования Catalog
  9. Пример использования Hive для задач Batch

Пример Hello World

Используйте следующий SQL для тестирования среды, чтобы новым пользователям было проще понять платформу.

CREATE TABLE source_table (
  f0 INT,
  f1 INT,
  f2 STRING
) WITH (
  'connector' = 'datagen',
  'rows-per-second'='5'
);

CREATE TABLE print_table (
  f0 INT,
  f1 INT,
  f2 STRING
) WITH (
  'connector' = 'print'
);

INSERT INTO print_table SELECT f0, f1, f2 FROM source_table;

Ссылки на официальные соединители

Перейдите на https://nightlies.apache.org/flink/flink-docs-release-1.14/zh/docs/connectors/table/overview/

Поддержка официальных синтаксических конструкций Flink SQL

Поддерживаемые синтаксические конструкции
INSERT INTO
INSERT OVERWRITE
CREATE TABLE
CREATE FUNCTION
CREATE VIEW
USE CATALOG
DROP
ALTER
SHOW CATALOGS
SHOW DATABASES
SHOW TABLES
SHOW FUNCTIONS
CREATE CATALOG
SET
SELECT (не поддерживается)

Другое

  1. Из-за различий в конфигурации Hadoop-кластера может возникнуть трудность при установке.
  2. Различные версии Elasticsearch и HBase могут требовать загрузки исходного кода для компиляции соответствующих версий. Исходный код доступен по адресу https://github.com/zhp8341/flink-streaming-platform-web.

Общение и ответы на вопросы.

Полностью согласно связанным конфигурациям соединителей Flink 1.14.3

https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/table/kafka/

Если вам необходимы соединители, скачайте их с официального сайта:

Например, соединитель Kafka: https://nightlies.apache.org/flink/flink-docs-release-1.13/zh/docs/connectors/table/kafka/

Первая возможность: после загрузки соединителей поместите их в директорию /flink/lib.

  1. Это решение может привести к конфликтам jar, особенно если количество соединителей увеличивается.
  2. При работе вне YARN каждый новый jar потребует перезапуска сервера Flink.

Вторая возможность: поместите соединители на HTTP-сервис и укажите их URL.

  1. Внутренний совет компании: поместите соединители на внутренний HTTP-сервис.
  2. Например: http://ccblog.cn/jars/flink-connector-jdbc_2.11-1.12.0.jar
  3. Если используется функция управления jar, можно указывать только имя jar.

Изображение

Множественные URL разделены переносом строки.При сборке пользовательских соединителей используйте шаблон shade и решите конфликты jar.

Личное мнение: рекомендую использовать вторую возможность, так как каждая задача будет иметь свои jar. Общие jar можно поместить в директорию /flink/lib, например: драйвер MySQL, соединитель Kafka и т.д.

Проблемы

  1. Возможные проблемы и решения

Roadmap

  1. Булевые задачи будут добавлены в систему планирования.

Компиляция исходного кода

Перекомпиляция web-клиента в соответствии с вашей версией Flink

Контактная информация

Пожалуйста, добавьте себя в группу DingTalk: 34315096

DingTalk

Группа DingTalk

Использование

Статистика использования 18 марта 2021 года и 19 марта 2021 года

Благодарности

Благодарим Wen Xiang Jiong (Hunan Cao Hua Interactive Technology Co., Ltd.) за вклад в передачу кода фронтенда: https://gitee.com/wenxiangjiong/flink-streaming-platform-web.git

Техническая поддержка

Для получения платной техподдержки нажмите здесь

Донат

Alipay WeChat

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Веб-платформа для расчётов в реальном времени на основе Flink SQL. Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zhuhuipei-flink-streaming-platform-web.git
git@api.gitlife.ru:oschina-mirror/zhuhuipei-flink-streaming-platform-web.git
oschina-mirror
zhuhuipei-flink-streaming-platform-web
zhuhuipei-flink-streaming-platform-web
master