Работа с полями с отсутствующими значениями с использованием GX
Поля без значений, также известные как пропуски, представляют собой серьезную проблему в области управления качеством данных. По сути, это отсутствие той информации, которую Вы ожидали увидеть в том или ином наборе данных. В БД она, как правило, отражена как NULL. Решение этой проблемы имеет решающее значение для поддержания целостности и надежности данных, ее игнорирование может привести к сбоям системы, различным ошибкам или провалу задач в области анализа данных.
Great Expectations (GX) предлагает своим пользователям эффективное решение по устранению полей, не содержащих никаких значений, с помощью большой коллекции ожиданий, которая позволяет определять и применять правила качества данных. Интегрируя GX в свои пайплайны, Вы сможете создавать надежные процессы проверки информации, которые будут выявлять любые проблемы уже на самых ранних стадиях, обеспечивая чистоту и согласованность Вашего набора данных, который в последствие может пригодиться для составления отчетности, предиктивного моделирования и других сложных аналитических задач.
В этой статье Вы узнаете о том, как использовать GX для эффективной работы с остутствующими данными. Мы поговорим о применении ожиданий и процедуре принятия решений по управлению различными типами полей без значения. Следуя шагам, перечисленным ниже, Вы сможете обеспечить высокое качество любых наборов данных, что позволит получать более точные и надежные выводы на основе использованной информации.
Необходимые условия
Предполагается, что Вы уже знакомы с основными компонентами и рабочими процессами GX.
Предварительный обзор данных
|
type |
sender_acc ount_number |
recipien t_fullname |
trans fer_amount |
transfe r_date |
errors |
|---|---|---|---|---|---|
|
domestic |
244084670977 |
Jaxson Duke |
9143.40 |
2024-05-01 01:12 |
NULL |
|
NULL |
123456789012 |
Jane Smith |
5000.00 |
NULL |
NULL |
Представленный набор данных содержит несколько полей без значений, отображенных в столбцах type и transfer_date. Столбец errors, заполняемый независимой системой мониторинга, указывает на проблемы, обнаруженные в процессе обработки данных. Значение NULL, отображенное в нем, означает, что для этой записи не было обнаружено ни одной ошибки.
Ключевые ожидания для полей без значения
GX предоставляет ожидания, ориентированные на пропуски, предназначенные для управления недостающими данными. Эти ожидания могут быть созданы с помощью облачного интерфейса GX или специальной библиотеки GX Core Python.
Expect Column Values To Be Null
Гарантирует, что значения в интересующем Вас столбце равны NULL.
Пример: Обработка столбцов, значения которых в силу тех или иных причин равны NULL.
gxe.ExpectColumnValuesToBeNull(column="errors")
Expect Column Values To Not Be Null
Гарантирует, что в определенном столбце нет значений, равных NULL.
Пример: Обеспечьте последовательное заполнение интересующих Вас столбцов.
gxe.ExpectColumnValuesToNotBeNull(column="transfer_amount")
Подсказки GX , касающиеся ожиданий по полям, значения которых отсутствуют:
- Используйте в ExpectColumnValuesToBeNull и ExpectColumnValuesToNotBeNull аргумент mostly, позволяющий определить уровень толерантности для значений NULL или для значений, отличных от NULL. Это позволит адаптировать проверку качества данных, содержащихся в разных столбцах. Например, в столбце customer_feedback может быть больше NULL, чем в столбце errors. Настройте эти уровни допуски в строгом соответствии с шаблонами данных и потребностями Вашего бизнеса. Так Вы сможете создать более гибкие и эффектиные проверки качества данных;
- Используйте эти ожидания для отслеживания качества данных по мере их продвижения по пайплайну. Применяйте ExpectColumnValuesToBeNull к полям, значения которых буду равны NULL уже на самых ранних этапах, и ExpectColumnValuesToNotBeNull к тем же полям на более поздних этапах.
Примеры и сценарии
Примеры, приведенные в этом разделе, дают общее представление о том, как и когда применять ожидания отсутствия для выявления различных типов полей, значения которых по тем или иным причинам отсутствуют. Основное внимание в этой статье мы уделяем специфике ожиданий, а не рабочему процессу в целом, который может быть реализован как с помощью GX Cloud, так и с помощью GX Core.
GX Cloud предоставляет визуальный интерфейс для создания и запуска рабочих процессов для управления полями, значения которых отсутствуют. Рабочий процесс GX Cloud для их обработки выглядит следующим образом: создание актива данных, определение ожиданий для отсутствующих значений, запуск проверки и, наконец, просмотр результатов проверки.
GX Core можно использовать для расширения возможностей GX Cloud, что позволит реализовать самые различные пользовательские рабочие процессы по обработке отсутствующих данных.
Важные поля с отсутствующими данными
Контекст: Отсутствующие значения могут появляться в полях вследствие сбоев в операциях обработки данных или ошибок допущенных при вводе данных. Проактивное обеспечение постоянного заполнения критически важных полей минимизирует риск потенциальных ошибок и сбоев.
Решение GX: с помощью ExpectColumnValuesToNotBeNull убедитесь в том, что критически важные поля заполнены полностью.
gxe.ExpectColumnValuesToNotBeNull(column="transfer_amount")
Периодически отсутствующие значения 
Контекст: Периодическое отсутствие значений может быть вызвано различными причинами, кроющимися в пайплайне, такими как перебои в работе поставщиков данных или неправильный ввод данных. Если ожидается отсутствие значений для некоторых полей, воспользуйтесь проверкой данных на предмет того, содержит ли тот или иной столбец определенные значения в определенном проценте случаев.
Решение GX: Убедитесь в том, что в определенном проценте случаев значения заданы точно, используя ExpectColumnValuesToNotBeNull с параметром mostly.
gxe.ExpectColumnValuesToNotBeNull(column="transfer_date", mostly=0.999)
Неправильные значения, заданные по умолчанию 
Контекст: В процессе преобразования данных значения NULL могут быть ошибочно заменены значениями по умолчанию, такими как нули или пустые строки. Это может произойти при перемещении данных из исходного формата в любой другой желаемый формат. В зависимости от поля подобное ошибочное преобразование может искаить данные, которые играют важную роль для того или иного бизнеса. Например, номер счета NULL указывает на отсутствие информации и отличается от счета, выраженного в виде 0, который указывает на фактический номер счета, равный нулю.
Решение GX: Если в столбце ожидаются значения NULL, то для проверки наличия тсутствующих значений после преобразования данных рекомендовано использовать GX. Такой подход поможет Вам определить, не были ли NULL-значения заменены неправильным образом.
gxe.ExpectColumnValuesToBeNull(column="sender_account_number", mostly=0.001)
Установка низкого процента для параметра mostly позволяет учитывать наличие допустимых значений NULL и при этом выявлять случаи, когда NULL могли быть установлены по умолчанию неверно.
Сбои системы
Контекст: Этот вариант значительно отличается от всех предыдущих, поскольку отражает ожидания в отношении системы, за которой ведется наблюдение, а не просто качество данных. В данном случае GX может выполнять двойную роль: обеспечивать качество данных и выполнять более простую функцию оповещения и наблюдения. Например, увеличение числа ошибок может привести к неожиданному заполнению поля errors.
Решение GX: Сделать так, чтобы при обычных условиях поля, которые, как правило, равны NULL (например поля errors), оставались незаполненными.
gxe.ExpectColumnValuesToBeNull(column="errors")
ExpectColumnValuesToBeNull может служить индикатором своевременного предупреждения о потенциально возможных проблемах в контролируемой среде. Незамедлительное срабатывание оповещения при незапланированном заполнении полей позволяет оперативно находить и устранять наиболее распространенные системные ошибки, выходя далеко за рамки традиционной проверки качества данных.
Наиболее распространенные ошибки, связанные с отсутствием необходимой информации
-
Игнорирование нестандартных ситуаций: Редкие случаи отсутствия данных могут остаться незамеченными, что приведет к неполноценной проверке качества данных. Регулярно расширяйте охват
ExpectColumnValuesToNotBeNullдля того, чтобы охватить именно такие случаи; - Непоследовательные определения: Различные определения «отсутствующих» данных в разных командах могут привести к хаосу при работе с ними. Стандартизируйте определения и четко документируйте их.
-
Ложные положительные/отрицательные результаты: Жесткие пороговые значения могут привести к ложным положительным или отрицательным результатам. Для установки пороговых значений используйте исторические данные. Учтите, что в основном данный атрибут доступен только для
ExpectColumnValuesToNotBeNullиExpectColumnValuesToBeNull; - Обработка данных вручную: устранение недостающих данных в ручном режиме может привести к ошибкам и является совершенно неприемлемым для больших массивов данных. Автоматизируйте проверку качества данных и устранение малейших недостатков;
- Игнорирование первопричин: Устранение симптомов без понимания первопричин может привести к повторному возникновению одних и тех же проблем. Анализируйте первопричины и внедряйте соответствующие решения уже на самых ранних этапах движения данных по пайплайну.
Дальнейшие действия
Управление отсутствующими данными - важный компонент обеспечения качества и надежности данных. Применяя стратегии, описанные в этом статье, Вы сможете в разы повысить целостность и достоверность данных. Вот как Вы можете использовать эти методы:
- Включите обсуждаемые «ожидания» в существующие пайплайны и проекты;
- Изучите галерею ожиданий для того, чтобы узнать более детальные ожидания, которые могут быть адаптированы к Вашим нуждам;
- Расширьте свой подход к проверке для того, чтобы охватить и другие важные аспекты качества данных, такие как целостность, объем и распределение данных;
- Регулярно пересматривайте и совершенствуйте процессы проверки для того, чтобы поддерживать высокие стандарты качества данных.
Помните, что управление отсутствующими данными - это лишь одна из граней комплексной стратегии качества данных. Чтобы создать надежные пайплайны, рассмотрите возможность интеграции различных ожиданий, касающихся сразу нескольких аспектов качества данных. Такой комплексный подход поможет Вам заблаговременно выявлять и устранить потенциальные проблемы, сокращая количество ошибок на последующих этапах и способствуя формированию культуры доверия к данным в Вашей организации.
Применяя эти методики на практике и расширяя проверки, Вы сможете создать прочный фундамент для надежного анализа данных и эффективных процессов принятия решений. Продолжайте знакомиться с нашей серией статей, посвященных качеству данных для того, чтобы узнать больше о других важнейших аспектах поддержания высокого качества данных в пайплайнах.




