Структура мониторинга качества данных и сводка решений

база данных

Обзор

С развитием бизнеса и увеличением объема данных разработка приложений для больших данных стала распространенным методом разработки приложений для отделов.Из-за взаимосвязи между бизнес-характеристиками отделов разработка приложений Spark и Hive более распространена внутри отделов. Когда объем обрабатываемых данных достигает определенного уровня и возрастает сложность системы, проверка уникальности данных, целостности, непротиворечивости и т. д. начинает привлекать внимание, и обычной практикой является разработка дополнительных заданий типа отчетов или отчетов по к бизнес-характеристикам.Проверьте задачу, которая может занять много времени и сил.

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

1. Apache Griffin (платформа мониторинга качества данных Ebay с открытым исходным кодом)

GriffinОснованный на eBay China и вошедший в инкубатор Apache в декабре 2016 года, Apache Software Foundation официально объявил, что 12 декабря 2018 года Apache Griffin стал проектом высшего уровня Apache.

Модуль качества данных является незаменимым функциональным компонентом платформы больших данных.Apache Griffin (далее именуемый Griffin) представляет собой решение для обеспечения качества больших данных с открытым исходным кодом.Различные измерения (например, проверка того, концы непротиворечивы, количество нулевых данных в исходной таблице и т. д.) после завершения автономных задач измерьте активы данных, тем самым повысив точность и надежность данных. Для пакетных данных мы можем собирать данные с платформы Hadoop через соединители данных. Для потоковой передачи данных мы можем подключиться к системе обмена сообщениями, такой как Kafka, для анализа данных практически в реальном времени. После получения данных механизм модели рассчитает качество данных в искровом кластере.

1.1 Рабочий процесс

В архитектуре Гриффина она в основном разделена на три части: Определить, Измерить и Анализировать:在这里插入图片描述Обязанности каждой части следующие:

  • Определить: в основном отвечает за определение измерений статистики качества данных, таких как временной интервал статистики качества данных, цель статистики (одинаково ли количество данных на исходном и целевом концах, количество ненулевых и уникальные значения в поле в источнике данных), максимальное значение, минимальное значение, количество значений top5 и т. д.)
  • Мера: в основном отвечает за выполнение статистических задач и получение статистических результатов.
  • Анализ: в основном отвечает за сохранение и отображение статистических результатов.

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

1.2 Особенности

  • Метрики: точность, полнота, своевременность, уникальность, достоверность, согласованность.
  • Мониторинг аномалий: используйте предустановленные правила для обнаружения данных, которые не соответствуют ожиданиям, и обеспечьте загрузку данных, которые не соответствуют правилам.
  • Оповещения об аномалиях: сообщайте о проблемах с качеством данных по электронной почте или через портал.
  • Визуальный мониторинг: используйте информационную панель для отображения состояния качества данных.
  • В режиме реального времени: проверка качества данных может выполняться в режиме реального времени, и проблемы могут быть обнаружены вовремя.
  • Масштабируемость: его можно использовать для проверки данных в нескольких хранилищах систем данных.
  • Масштабируемость: при работе в среде с большим объемом данных текущий рабочий объем данных составляет около 1,2 ПБ (среда eBay).
  • Самообслуживание: Griffin предоставляет простой и удобный в использовании пользовательский интерфейс для управления активами данных и правилами качества данных; в то же время пользователи могут просматривать результаты качества данных и настраивать отображаемый контент с помощью панели управления.

1.3 Модель качества данных

Apache Griffin — это решение на основе моделей, в котором пользователи могут выбирать различные параметры качества данных для выполнения проверки качества своих данных по выбранному целевому набору данных или исходному набору данных (в качестве золотых эталонных данных). Он имеет соответствующую поддержку библиотеки в бэкэнде для следующих измерений:

  • Точность: соответствуют ли данные измерений указанному целевому значению, например, проверка суммы, отношение успешно проверенных записей к общему количеству записей.
  • Полнота: измеряет, отсутствуют ли данные, включая отсутствующие записи, отсутствующие поля и отсутствующие атрибуты.
  • Своевременность: измеряет своевременность данных, достигающих заданных целей.
  • Уникальность: оцените, дублируются ли записи данных и дублируются ли атрибуты; общая мера заключается в том, дублируется ли значение первичного ключа таблицы куста.
  • Валидность: измеряет, соответствуют ли данные согласованным правилам типа, формата и диапазона данных.
  • Непротиворечивость: соответствуют ли данные измерений бизнес-логике и логической проверке между записями, например: pv должно быть больше, чем uv, а цена после суммы заказа плюс различные скидки должна быть больше или равна 0.

1.4 Официальные и справочные материалы

2. Deequ (платформа мониторинга качества данных Amazon с открытым исходным кодом)

Deequ— это библиотека с открытым исходным кодом от Amazon, созданная на основе Apache Spark для определения «тестов модулей данных» для измерения качества данных в больших наборах данных. Он также предоставляет интерфейс PythonPyDeequ, PyPi, Documents. PyDeequ, оболочка Python с открытым исходным кодом поверх Deequ, инструмента с открытым исходным кодом, разработанного и используемого в Amazon. Deequ написан на Scala, в то время как PyDeequ может использовать качество данных и возможности тестирования Python и PySpark (язык, который выбирают многие специалисты по данным). PyDeequ работает со многими библиотеками обработки данных, что позволяет Deequ расширять свои возможности. Кроме того, PyDeequ может свободно взаимодействовать с Pandas DataFrames, а не ограничиваться рамками данных Apache Spark.

Deequ может рассчитывать показатели качества данных, определять и проверять ограничения качества данных, а также анализировать изменения в распределении данных. Позволяет разработчикам сосредоточиться на описании того, как выглядят данные, а не на реализации алгоритмов проверки и проверки. Deequ обеспечивает поддержку посредством чеков. Deequ реализован поверх Apache Spark и предназначен для масштабирования больших наборов данных (миллиарды строк), обычно расположенных в озерах данных, распределенных файловых системах или хранилищах данных. PyDeequ имеет доступ к вышеуказанным функциям, и его также можно использовать в среде ноутбука Python Jupyte.

2.1 Особенности

  • Расчет индикатора- Deequ Вычисляет показатели качества данных, т. е. статистику, такую ​​как полнота, максимальное значение или релевантность. Deequ использует Spark для чтения данных из таких источников, как Amazon Simple Storage Service (Amazon S3), и вычисления показателей с помощью набора оптимизированных агрегированных запросов. Прямой доступ к необработанным показателям, рассчитанным на основе данных.
  • Проверка ограничений- Пользователь может сосредоточиться на определении набора ограничений качества данных, подлежащих проверке. Deequ отвечает за экспорт необходимого набора метрик для расчета данных. Deequ создает отчет о качестве данных с результатами проверки ограничений.
  • Рекомендации по ограничениям- Пользователи могут определить свои собственные настраиваемые ограничения качества данных или использовать метод автоматического предложения ограничений для анализа данных и определения полезных ограничений.
  • Оболочка Python- Каждая функция Deequ может вызываться с использованием синтаксиса Python. Оболочка преобразует команды в базовые вызовы Deequ и возвращает их ответы.

2.2 Архитектура

在这里插入图片描述

3. DataWorks (платформа для мониторинга качества данных Alibaba)

DataWorks(Фабрика данных, исходный комплект для разработки больших данных) — это важный платформенный продукт PaaS (платформа как услуга) Alibaba Cloud, который может предоставлять полный спектр продуктовых услуг, таких как интеграция данных, разработка данных, отображение данных, качество данных и услуги данных. , универсальный интерфейс для разработки и управления, помогающий предприятиям сосредоточиться на добыче и исследовании ценности данных.

DataWorks поддерживает различные службы вычислений и механизмов хранения, включая автономные вычисления MaxCompute, механизм больших данных с открытым исходным кодом E-MapReduce, вычисления в реальном времени (на основе Flink), машинное обучение PAI, службу графических вычислений Graph Compute и службу интерактивного анализа. и т.д. Определить доступ к вычислительным услугам и службам хранения. DataWorks может предоставить комплексные услуги по разработке и управлению интеллектуальными большими данными и ИИ.

DataWorks может передавать, преобразовывать и интегрировать данные, импортировать данные из различных хранилищ данных, преобразовывать и развивать их и, наконец, синхронизировать обработанные данные с другими системами данных.

3.1 Архитектура

在这里插入图片描述

3.2 Качество данных

Data Quality — это универсальная платформа, которая поддерживает службы проверки качества, уведомления и управления для нескольких разнородных источников данных.

Качество данных зависит от платформы DataWorks, которая предоставляет комплексное решение для обеспечения качества данных, включая такие функции, как исследование данных, сравнение, мониторинг качества, сканирование SQL и интеллектуальные сигналы тревоги.

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

Качество данных принимает DataSet в качестве объекта мониторинга. В настоящее время качество данных поддерживает мониторинг EMR (E-MapReduce), Hologres, AnalyticDB для PostgreSQL, таблиц данных MaxCompute и потоков данных DataHub в реальном времени. Когда автономные данные изменяются, качество данных проверяет данные и блокирует производственную связь, чтобы избежать распространения проблемного загрязнения данных. В то же время качество данных поддерживает управление историческими результатами проверки, и пользователи могут анализировать и оценивать качество данных.

В сценарии потоковой передачи данных качество данных можно отслеживать и отключать на основе канала данных DataHub, а подписчики будут предупреждены как можно скорее. Качество данных поддерживает установку оранжевых и красных уровней сигналов тревоги и частоты сигналов тревоги, чтобы свести к минимуму избыточные сигналы тревоги.

在这里插入图片描述

4. DataMan (платформа мониторинга качества данных Meituan Dianping)

DataManОбщий план построения системы основан на технологической платформе больших данных Meituan. Восходящий уровень включает в себя: сбор данных обнаружения, уровень обработки рынка качества; уровень хранения модели механизма правил качества; уровень системных функций и уровень отображения системных приложений и т. д. Вся контрольная точка качества данных основана на техническом и бизнес-обнаружении, формировании полного отчета о качестве данных и механизма отслеживания проблем, создании базы знаний о качестве и обеспечении целостности, правильности и актуальности качества данных.在这里插入图片描述 在这里插入图片描述 在这里插入图片描述