Doris + Flink + DolphinScheduler + Dinky создают платформу данных с открытым исходным кодом
Doris + Flink + DolphinScheduler + Dinky создают платформу данных с открытым исходным кодом

Эта статья составлена ​​из Платформа вычислений реального времени Dinky Maintainer Учитель Ци Венкай здесь. Apache Doris & Apache SeaTunnel соединение meetup Обмен практикой через Doris + Flink + DolphinScheduler + Dinky создают платформу данных с открытым исходным кодом。

автор:Проекты с открытым исходным кодом Dinky Основатель Ци Вэнькай.

Адрес GitHub

https://github.com/DataLinkDC/dlink

https://gitee.com/DataLinkDC/Dinky

Приглашаем всех обратить внимание на развитие Динки~

1. Предыстория

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

В этом разделе будет показано, как использовать четыре проекта с открытым исходным кодом Doris + Flink + DolphinScheduler + Dinky для создания базовой платформы данных и поддержки трех технических требований: оффлайн, в реальном времени и OLAP.

2. Идеи платформы данных с открытым исходным кодом

В этой главе в основном описываются проекты с открытым исходным кодом, используемые при создании платформы данных. такжеидеи дизайна。

Техническое введение

Apache Doris

Первое, что нужно использовать — Apache Doris. Apache Doris — это высокопроизводительная аналитическая база данных в режиме реального времени, основанная на архитектуре MPP. Она хорошо известна своими чрезвычайно быстрыми и простыми в использовании функциями. Для возврата результатов запроса для больших данных требуется всего лишь доля секунды. Он может не только поддерживать сценарии точечных запросов с высоким уровнем параллелизма, но и сценарии комплексного анализа с высокой пропускной способностью.

Как показано на рисунке, в общей архитектуре платформы Doris часто используется в качестве хранилища данных и предоставляет пользователям различные возможности эффективных запросов в режиме реального времени. Для ввода данных можно использовать общие платформы или инструменты интеграции данных, такие как Flink, Spark и т. д. Кроме того, Doris также может подключаться к базам данных Hive, Iceberg, озерам данных, MySQL и Oracle в виде внешних поверхностей, что также обеспечивает более простые в использовании и удобные возможности для преобразования хранилищ данных и анализа баз данных.

  • Основные преимущества
  1. Импорт расширенных данных: метод синхронизации расширенных данных, быстрая загрузка из локального хранилища, Hadoop, Flink, Spark, Kafka, SeaTunnel. бизнес-система ожидания и компонент обработки данных серединаиздата.
  2. Мощное издатачитать: Apache Doris Доступен напрямую MySQL、PostgreSQL、Oracle、S3、Hive、Iceberg、Elasticsearch система ожидания серединаиз данных без копирования данных. Хранение Doris серединаиздата также может быть Spark、Flink считываются и могут быть выведены в вышестоящее приложение данных для отображения и анализа.
  3. Дружественное приложение для обработки данных: Apache Doris поддерживатьпроходить JDBC Стандартный протокол вывода данных воля в последующие приложения, а также поддержка различных типов BI/клиентские инструменты MySQL протокольное соединение Дорис. Исходя из этого, Apache Doris существовать Многомерные отчеты、Портрет пользователя、Специальный запрос、Ожидание на большом экране в реальном времени может быть хорошо применено во многих сферах бизнеса.
  4. Максимальная производительность: эффективный механизм хранения данных в колонках и современный MPP Архитектура,В сочетании с интеллектуальными материализованными представлениями, векторизованным выполнением и различными ускорениями индексов.,Достигните максимальной производительности запросов.
  5. Интегрированный поток и партия:поддерживать Автономная партияданные Эффективный импорт потоковых данных в реальном времени,Гарантия второго уровня в режиме реального времени. Несколько Механизм версии сочетается с поддержкой транзакции импорта для разрешения конфликтов чтения и записи и реализации Exactly-Once。
  6. Минимализм в эксплуатации и обслуживании: высокая степень интеграции,Отсутствие зависимости от каких-либо внешних компонентов.,Размер кластера можно линейно масштабировать. Высокая доступность системы,Автоматическое переключение реплики при сбое узла,Автоматическая балансировка нагрузки при сегментировании данных.
Apache Flink

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

  • Основные преимущества
  1. Высокая пропускная способность, низкая задержка, высокая производительность;
  2. поддерживать Event Time и Нестандартные события;
  3. поддерживать Exactly-Once семантика;
  4. поддержка различных окон потоковой передачи;
  5. самиз Память Модельиуправлять;
  6. Batch и Stream существовать SQL Уровни реализуют интеграцию;
  7. Рич из Connector.
Flink CDC

Flink CDC — это подпроект Flink и набор оригинальных коннекторов Flink. Он используется CDC для получения/изменения данных из различных баз данных. Flink CDC интегрирует Debezium в качестве механизма для асинхронного изменения данных, поэтому Flink CDC может полностью использовать его. использовать и применять возможности Debezium, а также может легко подключаться к возможностям Flink использовать API SQL и API DataStream и, в конечном итоге, записывать в различные источники данных.

  • Основные преимущества
  1. Упрощенная интеграция в режиме реального времени данные: Никакого дополнительного развертывания не требуется. Debezium、Canal、Kafka компоненты ожидания,Затраты на эксплуатацию и техническое обслуживание значительно сокращаются.,Стабильность соединения улучшена.
  2. поддерживать Богатыйизисточник данных:в настоящий моментподдерживать MongoDB、Mysql、OceanBase、Oracle、Postgres、SQLServer、TiDB Источник данных из CDC。
  3. поддержка полной суммы, дополнительная подписка и автоматическое переключение: может руководить полной суммой и постепенное автоматическое переключение, поддержка Exactly-once Семантика, поддержка параллелизма без блокировки, чтение, поддержка восстановления из контрольной точки, точки сохранения,Возобновить загрузку с точки останова,гарантироватьданныезточность。
  4. Бесшовное соединение Flink: бесшовное соединение Flink экология, утилизация Flink многочисленные Source и Sink способность, можно проявить Flink Возможность ожидания двойного потока и размера потока.
  5. поддерживать FlinkSQL:поддерживать FlinkSQL определение Flink CDC задачи по дальнейшему снижению порога использования, а также затрат на эксплуатацию и техническое обслуживание.
Apache DolphinScheduler

DolphinScheduler — это распределенная, децентрализованная, легко масштабируемая платформа визуального планирования задач рабочего процесса DAG. Стремится решить сложные зависимости в процессе обработки данных, чтобы систему планирования можно было использовать в процессе обработки данных «из коробки». DolphinScheduler использует реализацию с несколькими мастерами и несколькими рабочими для достижения распределения и децентрализации, поддерживает различные типы задач, такие как Flink и SQL, и легко расширяется.

  • Основные преимущества
  1. Высокая надежность: в центре всего Master и много Worker Сервис верожидать архитектуру, Избегайте одиночных Master Давление слишком велико, и используется очередь буфера задач, чтобы избежать Избегайте перегрузок.
  2. Простота в использовании: ДАГ Интерфейс мониторинга, все процессы визуализируются, перетаскивайте задачи для полной настройки DAG,проходить API Метод и интеграция сторонних систем, Развертывание в один клик.
  3. Богатый набор сценариев использования: поддержка нескольких арендаторов, приостановка и восстановление поддержки. Идеально подходит для экологии больших данных, обеспечивая Spark, Hive, M/R, Python, Sub_process, Shell ожидание почти 20 типов задач.
  4. Высокая масштабируемость: поддержка с момента определения типов задач,Планировщик использует распределенное планирование.,Возможности планирования растут линейно вместе с кластером.,Master и Worker поддерживают динамичность онлайн и оффлайн.
Платформа вычислений реального времени Dinky

Dinky основан на Apache Flink Вторичная разработка на платформе один вычислений в реальном В основном для того, чтобы лучше руководить хранилищем данных и озером данных, а также строительством, эксплуатацией и обслуживанием. Динки В основном разделен на две части: данные Studio А также платформа эксплуатации и обслуживания, основная поддержка разработки данных. Flink SQL、Flink Jar и обычный SQL Задача.

Платформа Dinky отправляет задачи Flink и управляет ими через Flink API, Flink Client, Yarn, K8s и т. д. Весь процесс требует только разработки Flink SQL в Dinky. Нет необходимости в компиляции и упаковке задач Flink, которые можно автоматически отправлять в кластеры. различные среды. Он поддерживает несколько методов отправки, включая локальный, автономный, Yarn, K8s и т. д. Кроме того, он также предоставляет возможности управления платформой, такие как источники данных, кластеры, а также возможности мониторинга и сигнализации. Внешние источники данных можно обрабатывать и управлять ими через соединители Flink и расширения подключения к источникам данных.

  • Основные функции
  1. захватывающий FlinkSQL и SQL платформа разработки изданных: автоматическое заполнение подсказок, подсветка грамматики, украшение операторов, проверка грамматики, выполнение отладки, план выполнения, MetaStore, анализ родословной、Версияверно Сравниватьждать
  2. поддерживать Несколько версийиз FlinkSQL Различные методы подачи заданий: локальный, автономный, Yarn/Kubernetes. Session、Yarn Per-Job、Yarn/Kubernetes Application
  3. поддерживать Apache Flink Все нативные и расширения из Connector、UDF、CDC ждать
  4. поддерживать FlinkSQL улучшение грамматики: совместимо Apache Flink SQL、агрегатная функция с табличным значением、глобальные переменные, среда исполнения, объединение операторов, Синхронизация всей базы данных、Поделиться ожиданием сеанса
  5. поддерживать Легко расширитьиз SQL Пример: ClickHouse、Doris、Hive、Mysql、Oracle、Phoenix、PostgreSql、SqlServer ждать
  6. поддерживать FlinkCDC(Source Слияние) Весь склад помещается в озеро в реальном времени.
  7. поддерживать предварительный просмотр отладки в реальном времени Table и ChangeLog данные Charts Графический дисплей
  8. поддерживать Flink метаданные、источник данных Запрос метаданныхиуправлять
  9. поддерживать выполнение и обслуживание задач в режиме реального времени: онлайн и офлайн、Информация о вакансии、Информация о кластере、Снимок задания、Информация об исключении、Карта данных、Исследование данных、Историческая версия、Запись тревогиждать
  10. поддерживатькак Несколько версий FlinkSQL Server а также OpenApi изспособность
  11. поддерживать Легко расширитьиз Сигнализация о работе в режиме реального времениигруппа тревог:DingTalk、Корпоративная учетная запись WeChat、Фейшу、Почтаждать
  12. Поддержка полностью управляема из запуска SavePoint/CheckPoint и триггерного механизма: самая последняя версия、самое раннее время、Укажите один раз ожидания
  13. Поддержка Множественные ресурсыуправляю: экземпляр кластера、Конфигурация кластера、Jar、источник данных、группа тревог、Экземпляр тревоги、документ、пользователь、Конфигурация системыждать
  • Основные преимущества
  1. Мультисовместимость: на основе Apache Flink Вторичная разработка исходного кода, совместимого с официальным 1.11~1.15 Исходный код версии совместим с улучшенной версией собственной ветки пользователя. поддерживать официальные и другие расширения SQL Разъем, например ChunJun。поддерживать FlinkCDC чиновник CDC SQL Connector。
  2. Никаких вторжений: весна Boot Быстрое развертывание легких приложений, ничего не нужно Flink Изменить исходный код кластера или добавить дополнительные плагины, без перцептивного подключения и мониторинга. Flink кластер. Если вы хотите использовать Flink MetaStore、Синхронизация всей базы данныхждать Функция,тогда нужносуществовать Flink lib середина Добавить верно следует из пакетов зависимостей.
  3. Никаких зависимостей: только требуется Mysql База данных и JDK1.8 среде, не зависит от какого-либо другого промежуточного программного обеспечения, такого как zookeeper、hadoop ждать。
  4. Простота использования: Флинк Неперцептивное переключение между несколькими режимами выполнения, поддержка Flink Несколько переключатель, автоматический хостинг задач в реальном времени, точки восстановления, ожидание сигналов тревоги, Пользовательская конфигурация, постоянство управления Flink Catalog (Прямо сейчас Flink MetaStore)。
  5. Расширенный: совместимый и расширенный официальный FlinkSQL грамматика,нравиться SQL агрегатная функция с табличным значением、глобальные переменные、CDC Синхронизация всей базы данные, среда исполнения, Объединение операторов、Поделиться ожиданием сеанса。
  6. Легко расширить: принят исходный код SPI Плагин и различные режимы проектирования поддерживают пользователи, которые могут быстро расширять новые функции, такие как разъемы, источники данных, методы сигнализации, Flink Catalog、CDC Синхронизация всей базы данных、сопределение FlinkSQL грамматикаждать。
  7. захватывающий:поставлятьглавныйиз DataStudio Функции, поддержка полноэкранной разработки, автоматическое подсказка и завершение, выделение грамматики, украшение предложения, проверка грамматики, Отладка результатов предварительного просмотра, глобальные переменные、MetaStore、Анализ на уровне поля родословной, запрос метаданных, FlinkSQL Сгенерируйте функцию ожидания.
  8. «Единое окно»: предоставление от FlinkSQL От разработки и отладки до оперативного и автономного мониторинга эксплуатации и технического обслуживания. SQL Возможности выполнения запросов позволяют создавать хранилища данных и управлять данными. Интеграция.
  9. Йеркай: Серверная часть исходного кода основана на Spring Boot Разработка фреймворка, фронтенда на базе React (Ant Design Pro) Разработка и простое расширение дизайна, Предприятиям легко разрабатывать индивидуальные функции или интегрировать их в существующие платформы данных с открытым исходным кодом или собственные платформы данных.

идеи дизайна

Идеи платформы данных с открытым исходным кодом дизайнадапроходить Flink SQL Batch а также Doris SQL Возможность реализации разработки автономного использования задачи; DolphinScheduler Осуществлять оркестровку и планирование рабочих процессов в автономном режиме; Flink CDC и Flink SQL Внедрить возможности потоковой обработки и разработать задачи реального времени по выбору; Doris Действовать как хранилище данных в реальном времени для записи данных и выполнения OLAP запрос; пройти Dinky Обеспечить полноценные возможности платформы для разработки задач, эксплуатации и обслуживания для удовлетворения общих потребностей платформы данных предприятия.

В этой статье Дорис SQL Это идея на исследовательской стадии. В настоящее время она в основном основана на. Flink SQL добиться. В нашей производственной практике Дорис SQL В основном используется для Flink Выполните быструю корреляционную статистику по очищенным и обработанным подробным данным, а затем используйте представление или рассчитайте результаты. insert вниз по течению Doris Тематическая таблица, наконец-то пройдена Doris вниз по течению BI или система обеспечивает эффективное OLAP Поддержка запросов,сократить реальное времяи Офлайн-хранилище данныхизстоимость строительства。

3. Платформа для автономного анализа данных.

Далее мы расскажем, как создать автономную платформу данных.

Знакомство с идеями

В платформе офлайн-анализа данных Дорис В качестве основного хранилища данных Flink SQL Batch и Doris Внешняя таблица предоставляет возможность загрузки данных, которые также можно передать Flink SQL Batch и Flink SQL предоставить ETL способность, в Проведено на Динки Flink SQL и Doris SQL из Разработка, отладка Также Работы по эксплуатации и техническому обслуживанию, при автономном планировании задач DolphinScheduler Обеспечить планирование рабочего процесса и, наконец, посредством Doris предоставить OLAP возможности для последующих бизнес-систем или BI система прямого потребления.

FlinkSQL пишет Дорис

Будет использоваться в первую очередь Flink SQL написать Дорис (эта статья знакомит с Doris Версия 0.15,1.1 Пожалуйста, обратитесь к версии для существенных изменений. Doris документ официального сайта), необходимо находиться в Flink Lib а также Dinky Plugins Добавьте соответствующий скомпилированный Flink、Doris разъем, нужно обратить внимание на Flink соответствующие версии Scala и Doris. Во-вторых, если вы хотите реализовать обновление записи, вам необходимо включить некоторые конфигурации. Например:

1) ‘sink.enable-delete’ = ‘true’

2) Поддерживает только уникальные модели.

3) FlinkDDL указывает информацию о первичном ключе.

В процессе записи могут возникать ошибки сегментации из-за символов новой строки. Обычно мы добавляем две строки конфигурации, чтобы переопределить формат данных для устранения ошибок сегментации:

Язык кода:javascript
копировать
'sink.properties.format' = 'json',
'sink.properties.strip_outer_array' = 'true'

FlinkSQL читает Дорис

существовать FlinkSQL читает Дорис Процесс середина обычно сталкивается с проблемой, по умолчанию существующей из Doris Реализация соединителя середина существования хранит скрытый столбец и поэтому требует существования Flink DDL Заявление в Doris скрытые столбцы, как показано на рисунке ниже.

Отладочный запрос FlinkSQL

Позже вы сможетесуществовать Dinky реализовать один FlinkSQL отладочный запрос. Изображение ниже Dinky Страница разработки с SQL посередине. Редактор разработки, правая часть — конфигурация задания, нижняя — FlinkSQL Результаты запроса для отладки в реальном времени, аналогично SQL-Client。

Управление каталогом Flink

Для облегчения управления каталогом Flink.

  1. Dinky Осуществленный MysqlCatalog управлять, для выделения других сообществ и личной реализации из MysqlCatalog, чей Type для Dlink_MySQL。
  2. Dinky из MysqlCatalog управлять требует руководить таблицей базы данных из инициализации, то есть выполнения в корневом каталоге SQL В папке dlinkmysqlcatalog.sql сценарий. Если вы хотите использовать FlinkSQL Окружающая среда середина По умолчанию из default_catalog ,тогда нужносуществовать dlink из базы данных середина выполняет скрипт. также может существовать другое MySQL Если база данных середина выполняет этот скрипт, вам нужно сделать это самостоятельно FlinkSQLEnv задачи по обеспечению Catalog из окружающей среды.
  3. FlinkSQLEnv середина может определять несколько Catalog используются вместе, например Flink чиновник HiveCatalog。существовать FlinkSQL Используется в задачах catalog.database.table Приходите, чтобы управлять столом, или используйте use catalog переключаться между разными Catalog。

Агрегатная функция табличных значений FlinkSQL AGGTABLE

Dinky предоставляет множество специального синтаксиса. Например, синтаксис агрегирования: AGGTABLE.

  1. Dinky Поскольку определение CREATE AGGTABLE ... AS ... грамматика, Долженграмматика Осуществленный TableApi Уровень обработки агрегирования табличных значений делает SQL также поддерживать Должендействовать(Flink Официально не реализовано).
  2. AGGTABLE середина GROUP BY для поля группировки, AGG BY для Агрегатная функция и ее вывод из информации поля. нравиться AGG BY TOP2(score) as (score,rank) навсегда score Полеруководить Групповая агрегациядействовать,Возьмите максимальное значение и второе по величине значение в каждой группе.,Затем верните несколько строк результатов.
  3. верно Вагрегатная функция с табличным значениемиз определения, нужно следовать Flink Официальный сайтсередина из Table Aggregate Functions Документацию руководить расширением. После завершения расширения оно упаковывается в jar файл, добавьте его в Dinky из plugins и Flink из lib Загрузите, перезапустите Dinky и Flink тогда вступает в силу. из-за памяти Catalog и Dinky из default_catalog середина не содержит эту функцию определения, поэтому перед ее использованием необходимо пройти CREATE FUNCTION ... AS ... руководить зарегистрирован с момента определения функции из.

Глобальные переменные FlinkSQL

Серединада разработки корпоративных данных очень важна и гибка.

  1. проходить Откройте конфигурацию задания справа.серединаизглобальные переменныеможно включить Dinky Внутренняя реализация из Глобальные переменные FlinkSQL(SQL Fragment) функцию можно использовать повторно при необходимости. SQL Фрагмент или значение переменной руководитьопределением во избежание дублирования работ по сопровождению.
  2. грамматика:имя переменной:=значение переменной; Примечание. Все символы написаны на английском языке и заканчиваются английской точкой с запятой.
  3. глобальные переменные автоматически загружают переменные конфигурации ссылки на источник данных, что позволяет избежать конфиденциальной информации. Например, адрес подключения к базе данных, имя пользователя и пароль. Как показано на картинке Doris (имя экземпляра источника данных) Переменная для Doris OLAP конфигурация изLink, может существовать Flink DDL середина используется напрямую.

Анализ родословной FlinkSQL

Dinky предоставляет возможность анализа происхождения полей, которая может анализировать анализ происхождения полей задачи из нескольких операторов вставки в задании Flink SQL.

ранее Dinky основан на StreamGraph анализировать Flink Родословная,существовать Local окружающей среде StreamGraph руководить полем происхождения из происхождения. существующий процесс вывода середина обычно использует некоторый ключ информации, как показано на рисунке ниже середина изда. SQL Создано во время отправки задачи StreamGraph, реализация родословной основана на принципе на Pact、Contents、Predecessors Ожидание достижения параметров Source и Sink Вывод отношений полей, но с некоторой настройкой UDF а также соединитель да не содержит аналогичной метаданной,Сравниватьнравитьсяобъяснять Hudi Разъем не способен нести Hudi родословная.

В настоящее время алгоритм родословной Динки оптимизирован и напрямую выводится с помощью оптимизированного логического плана, что снижает стоимость алгоритма и решает проблемы UDF и Hudi, упомянутые выше.

Анализ родословной Дорис

Dinky Также предоставлено Doris изанализ родословнойспособность。Долженанализ родословнойосновнойоснован на Alibaba Druid добиться.

Создайте задачу рабочего процесса DolphinScheduler.

На основе приведенного выше анализа родословнойиз возможности, можно вручную организовать хранилище данных существующего серединаиз DAG Рабочий процесс. Главным образом через DolphinScheduler из Рабочий процессруководитьиметь дело с,существовать DolphinScheduler расширен в Dinky Тип задания в настоящее время должен подождать, пока 3.1 версию можно использовать.

Мониторинг задач

проходить DolphinScheduler Планированиеиз Задача,существовать Dinky Вычислительная платформа середина также может видеть текущий статус заданий в режиме реального времени. существование Эксплуатация и обслуживание середина Сердцесередина позволяет увидеть подробную информацию о каждом задании, существующем DolphinScheduler Реализованные типы задач поддерживают как работу в режиме реального времени, так и в автономном режиме. В режиме реального времени вам необходимо дождаться запуска задачи и ее остановки вручную, прежде чем переходить к следующему узлу. В автономном режиме вам придется дождаться выполнения автономного задания. Закончив, переходим к следующему узлу. Динки обеспечивает простой мониторинг задач,Также предоставлено Flink Web UI Кнопка быстрого перехода переходит к Web UI чтобы увидеть более подробную информацию.

Сравнение версий выпуска задания

существование руководить При выполнении большой работы обычно возникает калибр данных FlinkSQL изменения. Динки поставлять Понятно Операция Версияуправлятьспособность, в При публикации будет автоматически создана новая версия. Впоследствии вы сможете сравнить каждую версию середина. SQL изразличие, а такжеруководить Операция Версияоткатдействовать。

Дорис OLAP и рендеринг диаграмм

Dinky поддерживать Doris SQL Возможности запроса и выполнения операторов, помимо простоты и простоты BI функция, вы можете Doris Результаты запроса оператора выполняются BI Рендеринг, например гистограммы, линейные диаграммы, круговые диаграммы и т. д.

Подвести итог

1. Выбор уровня базового хранения Дорис приходит к тому, чтобы унифицировать хранилище данных и возможности, которые могут одновременно предоставлять услуги обработки данных в реальном времени, интерактивный анализ данных и сценарии автономной обработки данных.

2. Вычислительный уровень выбирает Flink для предоставления возможностей ETL для автономного сбора, очистки и преобразования данных из различных источников данных. Он может воспользоваться преимуществами своей высокой пропускной способности и высокой производительности.

3. Выбор слоя платформы Dinky Чтобы обеспечить возможности разработки, эксплуатации и обслуживания данных, проходить DolphinScheduler Предоставляет возможности планирования рабочего процесса.

4. Платформа анализа данных в реальном времени.

Ссылка на решение платформы анализа данных в реальном времени, представленная в этой статье, относительно короткая. В основном:

  • Flink CDC как CDC технология;
  • Возможности обработки потоков Flink SQL;
  • Dinky Синхронизация всей базы данныхспособность;
  • Doris поставлять OLAP Возможность запроса, восходящий поток записи в реальном времени, Дорис Запрос данных имеет определенную степень производительности в реальном времени;
  • Dinky существоватьв реальном времениданныезразработкапоставлять Понятномонитори Вызовите полициюизспособность,Когда задача вызывает исключение или завершается,Вы можете отправить пин-код или по почте ждатьруководить тревожное уведомление.

База данных FlinkCDC+FlinkSQL Дорис

существоватьиспользовать Flink CDC и FlinkSQL В процессе:

Первый способ — использовать официальный Flink CDC + Flink SQL руководить ETL активировать. верно имеет высокие требования к реальному времени и относительно независимые и важные требования, такие как: нет дасуществовать Doris серединаруководить Хранилище данных с иерархической обработкой, например DWD、DWS Подождите, вы можете начать с исходного кода CDC руководить Воля результатами после потоковой обработки писать Doris середина,Сновапроходить Doris для разведки и добычи BI Используйте систему напрямую MySQL Соглашение руководить исследованием потребления.

Flink CDC в настоящий моментподдержание имеет множество источников данных. В основном мы используем реляционные базы данных, такие как. MySQL、Oracle、Postgres ждать 。Flink CDC каждый DDL будет созданодин Количество соединений,существования требуется использовать процесс середина, чтобы обеспечить достаточное количество соединений.,В противном случае нормальная работа бизнес-системы может быть нарушена.

Синхронизация всей базы данных Dinky Синтаксис CDCSOURCE

Второй способ Dinky Обеспечивает полную синхронизацию базы данных CDCSOURCE грамматика Приходитьруководить ELT действовать 。CDCSOURCE синтаксис создаст только полный номер соединения 1 из FlinkCDC Синхронизация всей базы данных Задача.В основном да использует шунтирующий принцип, кроме того он может проводить Sink Приходить Укажите нижестоящий База данных из Различныйиз Конфигурация。этосуществоватьсоздавать Задачачас,Информация о метаданных источника данных будет получена автоматически.,Автоматически сопоставлять соответствующее имя и тип поля,Автоматическая сборка каждого стола из раковины,иподдерживать Flink SQL все Sink тип. В настоящее время, если исходная библиотека DDL При возникновении изменений обычно можно перезагрузить компьютер только из точки восстановления. CDCSOURCE Задачи автоматически сопоставляются после изменений DDL。

Принцип синхронизации всей базы данных Dinky

Синхронизация всей базы принцип данныхиз да диверсию издействовать: от CDC серединачитать из данных в Map,проходить Map верно Schema и Table руководитьфильтр , собранный после фильтрации Datastream<Row> и наконец Datastream преобразован в TemporaryView,преобразован в представлении вы можете использовать Flink SQL руководитьдействовать。в настоящий моментиздействованда непосредственно Воля выводит в любой из Раковину, конечно, здесь можно доработать, например добавив другие индивидуальные обработки. Кроме того, четвертый этап на картинке выше существует в сборе. Datastream<Row> После этого вы также можете использовать его напрямую Datastream из API руководить выпуском. текущий Dinky верно Шаг третий Filter руководить был оптимизирован и принят метод измерения выходного потока для улучшения пропускной способности, что повышает прибл. 20 раз.

Подвести итог

1. Использование слоя коллекции Flink CDC Альтернативная традиция из CDC решение с более комплексными функциями и бесшовной интеграцией FlinkSQL。

2.верно В ETL Требования можно использовать напрямую. FlinkSQL+ Flink CDC После завершения расчета он будет сохранен в базе данных. Doris。

3.верно В ELT Вся база данных должна быть синхронизирована с Doris как ODS руководитьв реальном времени OLAP когда вы можете использовать Dinky Синхронизация всей базы данных Приходить Быстрыйстроитьв реальном времени Задача.

5. Планирование на будущее

Dinky Roadmap

  1. Реализация мультитенантности и ролевых разрешений. Возможность мультитенантности необходима для разделения бизнес-данных между различными группами данных или проектами.,Ролевые разрешения необходимы для авторизации использования заданий и ресурсов.,Удовлетворение основных потребностей предприятий.
  2. Глобальное происхождение и анализ влияния: Требуется Воля Опубликовано из задания на уровне поля Происхождение руководит хранилищем,Проанализируйте влияние построения глобальной родословной и,Облегчите пользователям отслеживание проблем с данными,в то же времятакже Можетдлясдвигатьсястроить DolphinScheduler поставлять DAG Основы отношений.
  3. системаодинметаданныеуправлять:需要системаодинизметаданныесередина Сердце Приходитьуправлятьвнешнийисточник данныхметаданные,Сделать возможной автоматическую синхронизацию базы данных. Физические модели платформы. Логические модели из структуры.,Расширьте возможности универсальной разработки платформы.
  4. Несколько версий Flink-Client Сервер: Необходимо реализовать разделение клиента и сервера и реализовать Несколько отдельно. версийиз Server。

Dinky on Doris Roadmap

  1. поддерживать Doris Создание внешнего вида ждет специального оператора и проверки и выполнения: Dinky В настоящее время не может быть выполнено Doris из специальной грамматики, такой как SHOW, оператор расширенного ожидания таблицы. Необходимо всеобъемлющее Doris Заявление о предоставлении комплексных возможностей разработки и эксплуатации.
  2. поддерживать Doris Запись выполнения оператора: Dinky На данный момент записано только FlinkSQL Выписка о статусе исполнения, нужно верно Doris ждать SQL поддерживать записи выполнения для отслеживания истории действий.
  3. поддерживать Doris Юаньданныез Можетвизуализацияуправлять:Dinky В настоящее время мы можем только запрашивать Doris ждатьизметаданные,проходить DDL заявлениеруководитьметаданныеуправлять。Последующие потребностиподдерживатьверно Doris ждать Источник данных из Можетвизуализацияуправлять,Улучшите свой захватывающий опыт.
  4. Выберите с помощью Doris для Слой хранения: Dinky Будущее будет Doris дляBest Storage Layer, Share Moreiz Doris Практика работы с хранилищем данных.

Dinky on Flink Roadmap

  1. поддерживать UDF из Автоматический хостинг: Dinky На данный момент недоступен для хостинга UDF необходимо упаковать и загрузить вручную. Jar, а затем перезапустите экземпляр, чтобы эффект вступил в силу, и это невозможно сделать. UDF изизоляция。существовать Несколько версийиз Flink-Client Server После реализации это будет Flink-Client средаруководитьизоляция,кподдерживать UDF изавтозагрузкииизолировано управлять.
  2. поддерживать Можетвизуализациястроить Flink Кластер и его зависимости: Dinky В настоящее время доступен согласно flink-conf Связанные с ним зависимости возникают в результате автоматической сборки. Per-Job и Application Кластеризация: этот процесс требует ручного решения проблем взаимозависимости. также по выбору. Последующие действия на странице «Воляподдержаниепроходить» визуальная конфигурация ожиданий пользователя из Flink Окружающая среда, Динки автоматически Flink среда развернута или готова, сообщите об этом Flink Полностью управляемое движение вперед.
  3. следовать FlinkCDC Исследование сообщества Schema Evolution и Синхронизация всей базы данных:Dinky в настоящий момент Хотяподдерживать Синхронизация всей базы данныеизавтоматическая сборка, но невозможна динамическая синхронизация DDL изменение, а такжесуществоватьбольшое количество столовстроитьсрочный депозитсуществовать Проблемы с производительностью。Следовать за Воляследоватьвверх по течению Исследование сообществаи Контент, связанный с практикой.
  4. поддерживать Более Flink Экология: Динки еще нет Приходить Воляподдерживать Болееиз Flink экология, например Flink CEP、Flink ML、Flink Table Store、Flink Kubernetes Operator ждать。

Dinky on DolphinScheduler Roadmap

  1. Оптимизировать не FlinkSQL из Выполнение задачи: DolphinScheduler из Dinky Task в настоящий моментосновнойподдерживать FlinkSQL Пакетный поток Задачаизосуществлять、монитор、останавливаться,верно Другие типы задач поддерживаются для оптимизации,Могут возникнуть неожиданные проблемы.
  2. поддерживатьсдвигатьсясуществовать DolphinScheduler Пример задачи по сборке: Dinky Следовать заподдерживатьсуществовать Dinky Вы можете нажать кнопку применить на странице разработки данных. API из автоматической сборки DolphinScheduler изTask экземпляр, избегатьпользователь Необходимость часто переключать платформы Приходить Конфигурация Планирование Задача.
  3. поддерживатьсдвигатьсясуществовать DolphinScheduler Полный пример рабочего процесса сборки: Dinky Следовать заподдерживатьпроходитьсамизобщая ситуацияанализ родословной Приходить Вывод DolphinScheduler Требуется для экземпляров рабочего процесса DAG Отношения и автоматическая сборка завершены на основе примеров рабочих процессов и могут существовать. Dinky серединаверно Чторуководитьбазовыйизуправлять。
  4. Выберите с помощью DolphinScheduler Платформа планирования: Dinky Будущее будет DolphinScheduler Лучшая платформа планирования обеспечивает глубокую интеграцию и обеспечивает возможности оркестрации рабочих процессов.

6. Заключение

к Ну давай жеда Этот обменвсесодержание,основнойвыгода В Doris Таким образом, мы предоставляем хранилище данных в реальном времени. OLAP Способность, пожалуйста, укажите, если есть какие-либо ошибки, спасибо.

Наконец, я хотел бы поблагодарить Apache Doris 、Apache Flink、Apache DolphinScheduler、Flink CDC、Apache SeaTunnel、Apache Hudi ждать сообщество из энергичного руководства благодаря учителям Цзяфэну и Лидуну ждать из руководства с открытым исходным кодом благодаря нашим 39 участникам; Также Сотни друзей узнают и путешествуют вместе.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose