УДК 004
Артемов А. А.
ведущий инженер данных, Schwarz Media Plattform GmbH (г. Мульхайм, Германия)
МОНИТОРИНГ КАЧЕСТВА ДАННЫХ С ПОМОЩЬЮ AMAZON DEEQU
Аннотация: в данной статье рассматривается важность управления качеством данных при принятии решений в различных областях, подчеркивается необходимость инновационных подходов, таких как Amazon Deequ, в условиях экспоненциально растущих объемов данных. Amazon Deequ - это библиотека для Apache Spark, которая предлагает систематические и масштабируемые средства проверки качества данных. Это расширяет возможности тестирования программного обеспечения для управления качеством данных, позволяя использовать разнообразные показатели и проверять большие наборы данных, уделяя особое внимание таким аспектам, как уникальность и согласованность. Интеграция Deequ с InfluxDB для хранения метрик и Grafana для визуализации еще больше повышает его практичность, позволяя осуществлять непрерывный мониторинг и анализ в режиме реального времени. В этом исследовании также рассматривается методология, включающая настройку среды, конфигурацию InfluxDB и Grafana, а также рабочие процессы профилирования данных. На практических примерах в документе демонстрируется применение Deequ для мониторинга качества данных, подчеркивается его масштабируемость, гибкость в определении правил и бесшовная интеграция с современными платформами обработки данных. Это исследование подчеркивает важность инновационных инструментов, таких как Amazon Deequ, для поддержания высокого качества данных в мире, ориентированном на данные, выходя за рамки традиционных методов мониторинга качества данных.
Ключевые слова: качество данных, управление данными, масштабируемость, аналитика данных, визуализация, непрерывный мониторинг.
Введение
В области управления данными и аналитики - обеспечение высокого качества данных имеет первостепенное значение, учитывая их критическую роль в процессах принятия решений в различных областях. По мере экспоненциального роста объемов данных, как представлено на рисунке 1, традиционные методы обеспечения качества данных сталкиваются с проблемами масштабируемости и эффективности [2]. Это требует инновационных подходов, которые могут адаптироваться к растущей сложности и масштабу данных. В этом случае Amazon Deequ, библиотека, разработанная на базе Apache Spark, призвана предложить систематический и масштабируемый способ контроля качества данных. Появление Deequ является ответом на меняющийся ландшафт, где качество данных больше не является простым дополнением, а центральным компонентом стратегии обработки данных.
2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025
Source Data Age 2025, sponsored by Seagate with data from IDC Global DataSphere, Nov 2018
Рисунок 1 - Годовой размер глобальной сферы данных Figure 1 - Annual Size of the Global Datasphere
Библиотека Amazon Deequ (рис. 2), является ключевым инструментом в области обеспечения качества данных. Она разработана в том числе для облегчения "unit tests for data" - концепции, которая переносит строгость тестирования программного обеспечения в сферу управления качеством данных. Deequ позволяет применять различные показатели и проверки к большим
наборам данных, обращая внимание на критические аспекты качества данных, такие как уникальность, согласованность и надежность [4].
Рисунок 2 - Обзор компонентов Deequ Figure 2 - Overview of Deequ components
Центральное место в функциональности Deequ занимает набор метрик, представленных в таблице 1.
Таблица 1. Метрики для оценки качества данных Table 1. Metrics for evaluating data quality
Метрика Описание Пример использования
ApproxCountDistin ct Приблизительное количество уникальных значений. ApproxC ountDi stinct("revi ew _id")
ApproxQuantile Приблизительное значение квантиля. ApproxQuantile(" star_rating" , quantile = 0.5)
ApproxQuantiles Приблизительные значения для нескольких квантилей. ApproxQuantiles(" star_rating ", quantiles = Seq(0.1, 0.5, 0.9))
Completeness Процент заполненных значений в колонке. Completeness("review_id")
Compliance Соблюдение определенного условия или правила в наборе данных. Compliance("top star_rating", "star_rating >= 4.0")
Correlation Статистическая взаимосвязь между двумя колонками. Correlation("total_votes", "star_rating")
CountDistinct Количество уникальных значений в колонке. CountDistinct("review_id")
DataType Анализ типов данных в колонке. DataType("year")
Distinctness Процент уникальных значений от общего числа значений в колонке. Distinctness("review_id")
Entropy Мера разнообразия информации в колонке. Entropy(" star_rating")
Maximum Максимальное значение среди всех значений в колонке. Maximum("star_rating")
Mean Среднее арифметическое всех значений в колонке. Mean("star_rating")
Minimum Наименьшее значение среди всех значений в колонке. Minimum("star_rating")
MutualInformation Взаимная информация между двумя колонками, измеряющая взаимную зависимость между ними. MutualInformation(Seq("total _votes", "star_rating"))
PatternMatch Соответствие значений в колонке определенному шаблону. PattemMatch("marketplace", pattern = raw"\w{2}".r)
Size Общее количество записей в наборе данных. Size()
Sum Сумма значений в колонке. Sum("total_votes")
Uni queValueRati o Отношение количества уникальных значений к общему количеству значений. UniqueValueRatio("star ratin g")
Uniqueness Уникальность значения в колонке Uniqueness(" star_rating")
Эти показатели играют важную роль в оценке различных аспектов качества данных. Например, CountDistinct измеряет количество уникальных значений, помогая выявлять дублирования. Distinctness количественно определяет долю различных значений, что имеет решающее значение для оценки разнообразия данных. Аналогичным образом, такие показатели, как Maximum, Mean, Minimum значения, предоставляют статистическую информацию, которая жизненно важна для понимания распределения данных и тенденций.
Полезность Deequ еще более возрастает благодаря тому, что он основан на Apache Spark (рис. 2). Apache Spark, известный своей высокой производительностью и горизонтальной масштабируемостью, позволяет Deequ эффективно обрабатывать массивные наборы данных. Устойчивые распределенные наборы данных Spark (RDDs) и архитектура на основе распределенной памяти облегчают быструю обработку данных, что делает Deequ исключительно подходящим решением для сред, где требуется быстрый и точный анализ больших объемов данных.
Кроме того, интеграция Deequ с хранилищами метрик, такими как InfluxDB, повышает его практичность. Это позволяет хранить и извлекать показатели качества, обеспечивая настройку непрерывного мониторинга. Возможности визуализации с помощью таких инструментов, как Grafana, еще больше помогают преобразовать эти показатели в полезную информацию, необходимую для принятия обоснованных решений.
Таким образом, внедрение Amazon Deequ в сферу качества данных представляет собой значительный сдвиг в способах управления качеством данных в крупномасштабных средах обработки данных. Подход Deequ заключается не только в поиске проблем с качеством данных, но и во внедрении проверки качества данных в саму структуру процессов обработки данных. Эта интегрированная методология жизненно важна в современном мире, основанном на данных, где качество данных напрямую влияет на точность анализа и эффективность решений, основанных на данных.
Методология
Методология внедрения системы мониторинга качества данных с использованием Amazon Deequ включает в себя многоэтапный процесс, включающий настройку среды, конфигурирование InfluxDB и Grafana, а также создание рабочего процесса профилирования данных и мониторинга [1].
Настройка среды:
• Apache Spark versions 2.2.x to 2.4.x and 3.0.x,
• Docker,
• Scala/Java.
Практический аспект включает в себя выполнение примера реализации в среде IDE, которая выполняет проверку качества данных с помощью Amazon Deequ. Затем эти проверки сохраняются в ранее настроенной базе данных InfluxDB. Важно просмотреть эти результаты в InfluxDB, чтобы убедиться, что проверки качества данных были выполнены правильно и ожидаемые показатели зафиксированы [3].
Наконец, создается и настраивается панель мониторинга в Grafana. Это включает в себя настройку нового источника данных, который подключается к базе данных InfluxDB, с последующим созданием различных панелей визуализации в Grafana. Эти панели предназначены для отображения и анализа показателей качества данных, хранящихся в InfluxDB, обеспечивая всестороннее представление о состоянии качества данных. Эта полная настройка обеспечивает комплексный подход к мониторингу, визуализации и управлению качеством данных эффективным способом в режиме реального времени [5, 6].
Результаты
Этот практический пример иллюстрирует применение Amazon Deequ для мониторинга качества данных с использованием файла CSV с последующим созданием правил профилирования, сохранением результатов в InfluxDB и визуализацией этих результатов в Grafana.
Начальный этап включает в себя настройку среды, необходимой для запуска Deequ. Для этой настройки требуется Apache Spark, поскольку Deequ построен поверх платформы Spark. Версии, совместимые с нашей реализацией, варьируются от Apache Spark 2.2.x до 2.4.x и 3.0.x. Использование контейнеров Docker как для InfluxDB, так и для Grafana упрощает процесс установки и управления. Docker инкапсулирует необходимое программное обеспечение в изолированных средах, обеспечивая согласованность на разных компьютерах. Для кодирования используется Scala/Java, учитывая их встроенную поддержку в Spark и Deequ. Это объединение технологий обеспечивает надежную и масштабируемую платформу для анализа качества данных.
Следующий шаг включает настройку InfluxDB и Grafana. InfluxDB служит хранилищем метрик, в котором хранятся результаты проверок качества данных, выполняемых Deequ. Настройка начинается с извлечения образа Docker InfluxDB (docker pull influxdb: 1.8.4) и запуска экземпляра контейнера. Как только контейнер запущен, пользователь подключается к консоли InfluxDB и создает базу данных для хранения показателей.
# pull influxDB docker image docker pull influxdb:1.8.4
# run docker container
docker run — rm — name=influxdb -d -p 8086:8086 influxdb:1.8.4
# connect to docker container and run influxDB console docker exec -it influxdb influx
# create database which we will use for storing our metrics create database example
Grafana, инструмент визуализации, интегрирован с InfluxDB для отображения результатов. Как и InfluxDB, Grafana устанавливается через Docker (docker pull grafana/grafana) и связан с контейнером InfluxDB. После настройки в настройках конфигурации Grafana создается новый источник данных для InfluxDB с указанием URL, имени базы данных и учетных данных пользователя.
Эта интеграция позволяет визуализировать и анализировать показатели качества данных в режиме реального времени.
# pull grafana docker image
docker pull grafana/grafana
# run Grafana docker container & connect it with influxDB
container
docker run -d — rm — name=grafana -p 3000:3000 — link influxdb
grafana/grafana
Когда среда готова, клонируется необходимый репозиторий, содержащий интеграцию Amazon Deequ с InfluxDB. Затем этот репозиторий открывается в среде IDE, подходящей для Scala/Java [5].
src/main/scala/lexaneon/amazon/deequ/repository/influxdb
В репозитории можно перейти по следующему пути:
src/main/scala/lexaneon/amazon/deequ/example/InfluxDBMetricRepo
sitory. scala
Здесь находится реализация MetricRepository для InfluxDB, которая необходима для задачи мониторинга качества данных. Этот файл служит входными данными для нашей оценки качества данных. С помощью Apache Spark файл загружается в DataFrame, который предоставляет структурированный формат для выполнения операций Deequ.
В каталоге примеров [5], можно найти полный пример, который охватывает использование InfluxDBMetricRepository.
package lexaneon.amazon.deequ.example
import com.amazon.deequ.analyzers.{Completeness, CountDistinct,
Distinctness, Size, Uniqueness}
import com.amazon.deequ.analyzers.runners.AnalysisRunner import
com.amazon.deequ.analyzers.runners.AnalyzerContext.successMetri csAsDataFrame
import com.amazon.deequ.repository.ResultKey import
lexaneon.amazon.deequ.repository.influxdb.{InfluxDBConnectionPr operties, InfluxDBMetricsRepository} import org.apache.spark.sql.SparkSession
object InfluxDBMetricRepository extends App{
val spark = initSpark()
// here is our data file, which we use for this example, you can get your own file.
val filePath = "src/main/resources/dataForExample/data.csv"
val df = spark.read.option("header",
"true").csv(filePath).toDF() /**
* "http://localhost:8086" - URL to InfluxDB, if you do not change - it should be the same
* "example" - database name, which was created before
* "InfluxDBMetricsRepository" - table (measurement) name which is used for data
*/
val influxDBConnectionProperties = InfluxDBConnectionProperties("http://localhost:8086",
"example", "InfluxDBMetricsRepository") /**
* Object resultKey is information that uniquely identifies a AnalysisResult
* @param dataSetDate A date related to the AnalysisResult
* @param tags A map with additional annotations, you can add your own tags,
* they will be stored in column (tag) with name: tags_ */ " val resultKey = ResultKey(
System.currentTimeMillis(),
Map("dataSetFilePath" -> filePath, "dataSetName" -> "orders"))
val analysisResult = AnalysisRunner .onData(df) // pass our DataFrame .useRepository(new InfluxDBMetricsRepository(influxDBConnectionProperties)) .saveOrAppendResult(resultKey)
.addAnalyzer(Size()) // here we setup which metrics should be calculated
.addAnalyzer(Distinctness("customer_id"))
.addAnalyzer(CountDistinct("customer_id")) .addAnalyzer(Uniqueness(Seq("customer_id", "id"))) .addAnalyzer(Uniqueness("id")) .addAnalyzer(Completeness("trans_date")) .addAnalyzer(Completeness("id")) .run()
val metric = successMetricsAsDataFrame( spark, analysisResult)
metric.show(false) // output to console
spark.close()
def initSpark(isLocalRun: Boolean = true): SparkSession = { val sparkSessionBuilder = SparkSession .builder
.appName(this.getClass.getSimpleName)
val spark =
if (isLocalRun){
sparkSessionBuilder .master("local[*]") .getOrCreate() }else
sparkSessionBuilder.getOrCreate()
spark.sparkContext.setLogLevel("ERROR")
spark.conf.set("spark.sql.session.timeZone", "UTC")
spark
}
}
После чего необходимо запустить объект InfluxDBMetricRepository в среде IDE:
use example
select * from InfluxDBMetricsRepository
Это действие инициирует проверку качества данных и сохраняет результаты в базе данных InfluxDB.
> select * from InfluxDBMetricsRepository name: InfluxDBMetricsRepository
time dataSetDate entity instance name tags.dataSetFilePath tags.dataSetName value
1617540564755000000 1617540560510 Column customer.id Distinctness src/main/resources/dataForExample/data.csv orders 0.055114645502984144
1617540564838000000 1617540560510 Column customer_id CountDistinct src/main/resources/dataForExample/data.csv orders 6889
1617540564843000000 1617540560510 Dataset * Size src/main/resources/dataForExample/data.csv orders 124994
1617540564846000000 1617540560510 Column id Uniqueness src/main/resources/dataForExample/data.csv orders 1
1617540564850000000 1617540560510 Column id Completeness src/main/resources/dataForExample/data.csv orders 1
1617540564853000000 1617540560510 Column trans.date Completeness src/main/resources/dataForExample/data.csv orders 1
1617540564856000000 1617540560510 Mutlicolumn customer_id,id Uniqueness src/main/resources/dataForExample/data.csv orders 1
Рисунок 3 - Проверка качества данных и сохранение результатов
в базе данных InfluxDB Figure 3 - Checking the data quality and saving the results in the InfluxDB database
Примечательно, если запустить этот пример несколько раз с одними и теми же данными, то отобразятся результаты для каждого выполнения. Также в InfluxDB можно определить период хранения (сколько времени должны храниться данные).
Чтобы просмотреть результаты, необходимо вернуться в консоль InfluxDB и запустить use example, затем выбрать * из InfluxDBMetricsRepository. Этот запрос извлекает сохраненные метрики, позволяя просмотреть проверки качества данных или "правил" с использованием Deequ. Эти правила разработаны специально для измерения различных аспектов качества данных, таких как полнота, уникальность и соответствие определенной схеме. Например, правило может проверять полноту критического столбца или проверять уникальность первичного ключа. Deequ предлагает всеобъемлющий API для декларативного определения этих проверок, что позволяет гибко и эффективно выражать правила качества данных.
+-----------1 1 entity V--------------н instance h------------- 1 name
Т 1 Column customer_id Distinctness г T 0.055114645502984144 I
1 Column customer_id CountDistinct 6889.0 I
iDataset ★ Size 124994.0 I
1 Column id Uniqueness 1.0 1
I Column id Completeness 1.0 I
1 Column trans_date Completeness 1.0 1
iMutlicolumn +------------ customer_id,id у--------------- Uniqueness t--------------H 1.0 I у--------------------+
Рисунок 4 - Результаты в базе данных InfluxDB Figure 4 - Results in the InfluxDB database
После применения определенных правил к набору данных - Deequ вычисляет показатели качества данных. Затем эти результаты сохраняются в InfluxDB. Интеграция между Deequ и InfluxDB облегчается благодаря пользовательской реализации MetricRepository, которая является частью библиотеки Deequ. Этот репозиторий действует как мост, передающий вычисленные показатели из Deequ в InfluxDB. В нашем случае результаты записываются в базу данных "example", созданную в InfluxDB.
Заключительный шаг включает визуализацию сохраненных показателей с помощью Grafana. Возможность подключения Grafana к InfluxDB обеспечивает беспрепятственный поиск и отображение показателей качества данных. При такой настройке в Grafana создается панель мониторинга, где различные виджеты визуализации (такие как графики и таблицы) настраиваются для представления различных показателей качества данных.
Для создание панели мониторинга Grafana необходимо получить доступ к Grafana, перейдя по ссылке http://localhost:3000/ в веб-браузере (учетные данные по умолчанию - admin/admin).
В Grafana создается новый источник данных для InfluxDB (рис. 5, 6). Перейдя в Конфигурация > Источники данных > Добавить источник данных и вводятся следующие данные:
Name: InfluxDB
URL: http://influxdb:8 08 6
Database: example
User: admin
Password: admin
Name InfluxDB Default
Query Language
InfluxQL
HTTP
URL D http://influxdb:8086
Access Server (default) v Help >
White listed Cookies D Add Name Add
Auth
Basic auth With Credentials о СM
TLS Client Auth With CA Cert о CM
Skip TLS Verify Forward OAuth Identity o CM
Custom HTTP Headers + Add header
Рисунок 5 - Создание источника данных для InfluxDB Figure 5 - Creating a data source for InfluxDB
Database example
User admin
Password
HTTP Method <D V
Min time interval l»l I Пл
Max series
Save & Test Delete Back
Рисунок 6 - Создание источника данных для InfluxDB Figure 6 - Creating a data source for InfluxDB
После ввода сведений необходимо выбрать "Save & Test", чтобы убедиться, что подключение к InfluxDB прошло успешно (рис. 7).
<5 □□ New dashboard
Q X
+J Create
on _ gg Dashboard + Add new panel Convert to row
© £ В Folder A Import
©
0
Рисунок 7 - Новая приборная панель Figure 7 - New dashboard
После чего происходит переход к определению параметров запроса для виджетов панели мониторинга. Этот шаг включает настройку различных визуализаций, которые представляют показатели качества данных, хранящиеся в InfluxDB. Необходимо настроить эти виджеты таким образом, чтобы показатели отображались осмысленно и наглядно (рис. 8).
Эта визуализация помогает интерпретировать результаты, обеспечивая четкое и интуитивно понятное понимание состояния качества данных. Это позволяет пользователям быстро выявлять области, где качество данных не соответствует установленным пороговым значениям, способствуя принятию своевременных и обоснованных решений по улучшению качества данных.
Pan* Tide
ИЗО 1400
IS JO 10.00
1700 17.10
1010 1*00
В Query 1 О Transform
Query inspector
до aun kiftaoaM«inc»Rapo»nory v, uqi «MUNimi ort*n AMD алшу Cekmn AMO миом мим <á ♦
Md(MhM) тмгО ♦ •ne (I—MralJ М(м«) ♦
Time senes •
Рисунок 8 - Показатели качества данных Figure 8 - Data quality indicators
Последовательно выполнив эти шаги, будет создана надежная среда для мониторинга качества данных с помощью Amazon Deequ, Apache Spark, InfluxDB и Grafana. Эта методология обеспечивает комплексный подход к постоянному отслеживанию и визуализации показателей качества данных, обеспечивая проактивное управление данными и принятие решений.
Обсуждение
Результаты, полученные в результате практического применения Amazon Deequ для мониторинга качества данных позволяют получить существенное представление о полезности и эффективности этого подхода. Показатели, вычисленные Deequ, охватывающие такие аспекты, как полнота, уникальность и соответствие схеме, были сохранены в InfluxDB и визуализированы в Grafana, обеспечивая всестороннее представление о качестве данных.
Эффективность Deequ в мониторинге качества данных подчеркивается его способностью эффективно обрабатывать большие наборы данных благодаря использованию Apache Spark. В отличие от традиционных инструментов контроля качества данных, которые могут испытывать проблемы с масштабируемостью, Deequ использует возможности распределенных вычислений Spark для выполнения проверок качества больших объемов данных без существенного снижения производительности. Кроме того, декларативный API Deequ для определения правил качества данных обеспечивает гибкий и комплексный подход к определению и проверке ограничений качества данных.
По сравнению с другими методами мониторинга качества данных Deequ выделяется в нескольких аспектах. Традиционные методы часто включают ручные проверки или проверки на основе сценариев, которые не только отнимают много времени, но и подвержены человеческим ошибкам и проблемам масштабируемости. Напротив, Deequ автоматизирует процесс проверки качества данных, обеспечивая согласованность и надежность. Кроме того, многим традиционным инструментам не хватает возможности беспрепятственной интеграции с технологиями и платформами больших данных, и этот пробел эффективно заполняет Deequ.
Более того, интеграция Deequ с InfluxDB для хранения метрик и Grafana для визуализации обеспечивает комплексное решение для мониторинга качества данных, чего часто удается достичь с помощью поэтапных решений другими методами. Такой комплексный подход облегчает мониторинг в режиме
реального времени и быстрое принятие решений, что крайне важно в динамичных средах обработки данных.
Заключение
В заключение, практическое применение Amazon Deequ демонстрирует его эффективность в мониторинге качества данных не только как библиотеки для модульных тестов, но и как основополагающего инструмента для организации регулярного процесса мониторинга качества данных. Его масштабируемость при работе с большими наборами данных в сочетании с гибкостью в определении правил и интеграцией с современными платформами обработки данных делает его лучшим выбором по сравнению с традиционными методами мониторинга качества данных. Например, создание адаптера для InfluxDB, как показано в этом исследовании, демонстрирует адаптивность Deequ. У пользователей есть возможность либо использовать этот InfluxDB MetricRepository, либо выбрать файловую систему Amazon FileSystemMetricRepository, обрабатывая файлы JSON с помощью предпочтительного инструмента. Более того, возможность создавать производные показатели, визуализировать их или даже интегрировать уведомления для хранителей данных еще больше повышает полезность Deequ в поддержании высоких стандартов качества данных. Это исследование подчеркивает важность внедрения инновационных инструментов, таких как Deequ, для обеспечения высокого качества данных во все более ориентированном на данные мире.
СПИСОК ЛИТЕРАТУРЫ:
1. Artemov. A., Monitoring Data Quality with Amazon Deequ. URL: https://lexaneon.medium.com/monitoring-data-quality-with-amazon-deequ-25db142583cf
2. Глобальный кризис хранения данных. Почему места в хранилищах на всех не хватит. URL: https://habr.com/ru/companies/first/articles/710838/
3. Amazon Deequ project. URL: https://github.com/awslabs/deequ
4. Test data quality at scale with Deequ. URL: https://aws.amazon.com/ru/blogs/big-data/test-data-quality-at-scale-with-deequ/
5. InfluxDB MetricRepository & example. URL: https://github.com/lexaneon/amazon-deequ-addons
6. InfluxDB key concepts. URL: https://docs.influxdata.com/influxdb/v1/concepts/key_concepts/
7. Golmgrein, Irina. (2023). A Comprehensive Overview of Monetization Strategies in Creative Industries. International Journal of Latest Engineering and Management Research (IJLEMR). 8. 10.56581/IJLEMR.8.4.90-100
Artemov A.A.
Senior Data Engineer, Schwarz Media Plattform GmbH (Mülheim, Germany)
MONITORING DATA QUALITY WITH AMAZON DEEQU
Abstract: this article examines the importance of data quality management in decisionmaking in various fields, emphasizing the need for innovative approaches such as Amazon Deequ in an exponentially growing data volume. Amazon Deequ is a library for Apache Spark that offers systematic and scalable data quality assurance tools. This expands the testing capabilities of data quality management software, allowing you to use a variety of metrics and validate large datasets, paying special attention to aspects such as uniqueness and consistency. The integration of Deequ with InfluxDB for metric storage and Grafana for visualization further enhances its usability, allowing continuous monitoring and analysis in real time. This study also examines a methodology that includes environment setup, InfluxDB and Grafana configuration, and data profiling workflows. Using practical examples, the document demonstrates the use of Deequ for data quality monitoring, emphasizes its scalability, flexibility in defining rules and seamless integration with modern data processing platforms. This study highlights the importance of innovative tools such as Amazon Deequ to maintain high data quality in a data-driven world, going beyond traditional data quality monitoring methods.
Keywords: data quality, amazon deequ, apache spark, influxdb, grafana, data management, scalability, data analytics, visualization, continuous monitoring.