tl;dr PipeRider – это набор инструментов для обеспечения надежности данных с открытым исходным кодом, предназначенный для выявления проблем с качеством данных в конвейерах. PipeRider был создан после нескольких месяцев отраслевых исследований и доступен уже сейчас. Узнайте больше о качестве ваших данных, приняв участие в тест-драйве PipeRider.

Во второй половине 2021 и начале 2022 года в InfuseAI было интересно и весело, поскольку мы работали над нашим новым продуктом для обеспечения надежности данных с открытым исходным кодом PipeRider.

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

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

Доверяйте данным

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

«Интуиция» не помогает принимать деловые решения

Когда источников данных было слишком много, что делало невозможным ручную проверку, иногда решения принимались «наугад», а источники данных служили только для справки. Прямо противоположное тому, что должно происходить в средах, ориентированных на данные.

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

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

Учитесь на своих данных-кошмарах

Мы не приводим эти данные-кошмары для драматического эффекта, нам нужно было учиться на этих ошибках, поскольку часто используемая цитата Джорджа Сантаяны гласит «Те, кто не может вспомнить прошлое, обречены повторить его» … Может быть, нам стоит придумать новую фразу? "Те, кто не проверяет свои данные, обречены на разрушение данных". (Не такой запоминающийся? Ну да ладно)

Исследование дало нам представление о некоторых основных характеристиках инструмента надежности данных:

  • Он должен помочь справиться со сложностью конвейеров данных, предоставляя профили данных, которые помогут вам опережать критические изменения данных. Последнее, что вам нужно, это проверять журналы после того, как что-то сломается.
  • Он должен вписаться в вашу существующую экосистему инструментов и позволить вам беспрепятственно вставлять его между этапами конвейера. Нельзя ожидать, что пользователи полностью переработают свои пайплайны, чтобы они соответствовали инструменту контроля качества данных.
  • Он должен позволять пользователям доверять своим данным и доказывать, что данные заслуживают доверия, предоставляя полезные и содержательные отчеты.

Использование конвейера данных

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

Поддерживать высокий профиль

На практике идея PipeRider проста:

  1. Подключите его к источнику данных в любой точке конвейера.
  2. Запустите PipeRider, чтобы создать профиль данных.
  3. Проверьте профиль на соответствие вашим утверждениям данных.

Профиль данных работает как на уровне таблицы, так и на уровне столбца и предоставляет такую ​​информацию, как количество строк, структура схемы, распределение данных столбца, диапазоны и т. д.

Утверждения позволяют определить ваши ожидания от данных, а затем проверить источник данных на соответствие этим утверждениям. Каждый раз, когда вы запускаете PipeRider, ваши данные профилируются и проверяются на соответствие этим утверждениям. Если какие-либо из профилированных данных выходят за пределы ваших утверждений, тест завершается неудачей и выдается предупреждение.

Будьте настойчивы

PipeRider поставляется в комплекте с набором утверждений данных, которые вы можете реализовать, добавив их в свой файл утверждений данных. Эти готовые утверждения позволяют вам проверять такие факторы ваших данных, как:

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

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

Индивидуальные утверждения для ваших нужд

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

Отчеты о качестве данных

Запуск проверки данных в командной строке не для всех, особенно для отделов, которым требуется осмысленная визуализация данных. При каждом запуске PipeRider автоматически создает отчет о текущем состоянии ваших данных.

Если какие-либо утверждения данных не удались или схема каким-либо образом изменилась, в отчете будет показана эта информация вместе с информацией о профилировании для источника данных. Отчеты предоставляют удобный способ поделиться результатами профилирования данных и утверждений с пользователями, которые не заинтересованы в выполнении команд в терминале.

Также доступны сравнительные отчеты для сравнения результатов двух разных отчетов PipeRider и просмотра изменений данных между профилированием и тестированием.

Будущее автоматизировано

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

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

Например, PipeRider может предположить, что определенный столбец должен находиться в числовом диапазоне, содержимое должно принадлежать набору значений или автоматически определять, что столбец должен соответствовать некоторому формату бизнес-логики, такому как адрес электронной почты, дата, IP-адрес и т. д. Это действительно могло бы сократить время на проверку достоверности данных и даже пролить свет на ранее упущенные данные.

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

Присоединяйтесь к нам на пути к надежности данных

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

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

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

После использования PipeRider мы будем признательны за ваши отзывы! Свяжитесь с нами через любую платформу, которую вы предпочитаете: