Ivan Begtin
7.99K subscribers
1.77K photos
3 videos
101 files
4.49K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and other gov related and tech stuff.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts [email protected]
Download Telegram
В рубрике инструментов работы с данными, об инструментах с открытым кодом для работы над качеством данных.

- OpenRefine - инструмент для ручной/автоматизированной очистки наборов данных. Работает преобразуя их в плоские таблицы, поддерживает Excel/CSV/JSON/JSON lines и другие форматы. Позволяет проводить довольно гибкие преобразования по отдельным колонкам. Основан на продукте Google Refine, когда-то переданным компанией в open source.
- Great Expectations - "Большие ожидания", библиотека для языка Python, одна из наиболее активно используемых для автоматической валидации значений в наборах данных, потоках данных, data pipelines и не только.
- Soda-SQL - инструмент с открытым кодом для создания метрик и тестирования данных в SQL базах данных. Поддерживает несколько SQL баз данных и несколько базовых видов/типов полей. Умеет анализировать данные в СУБД и на основе этого рекомендовать автоматизированные тесты.
- Re-data - инструмент подсчёта метрик и проверки качества данных в SQL базах данных. Включает возможность активного мониторинга данных.
- ODD Platform - Open Data Discovery Platform, включает механизмы проверки качества данных, а сама платформа делается на основе ODD Spec спецификации описания метаданных. Здесь Open Data Discovery - это [Open] [Data Discovery], не открытые данные, а открытое обнаружение данных.

Я от себя добавлю что часто инструменты контроля качества данных сильно замедляют работу с данными если они не оптимизированы. К примеру Soda-SQL и Great Expectations, скажем так, имеют большие возможности по их ускорению, потому про по умолчанию заложенные там проверки через регулярные выражения можно сильно оптимизировать. К примеру, решая похожие задачи по классификации данных в DataCrafter'е, могу сказать что там вообще нет регулярных выражений, но и нет жесткой закодированности идентифицирующих типы данных правил. Вместо них некий аналог RegExp'ов работающий многократно быстрее.

Много лет назад я подумывал написать свой движок для обработки регулярных выражений в контексте, оптимизированный под результаты предыдущих сравнений. К примеру, у тебя есть несколько тысяч регулярных выражений на соответствие которым надо проверить конкретную строку/текст. Как сделать это быстро? Идеальный сценарий - индекс построенный по этим регулярным выражениям и построение конечного автомата по проверке, неидеальный сценарий - хотя бы зависимости между регулярными выражениями и автоматический отсев каких-то сравнений после других сравнений (кривой аналог построения индекса, на самом деле).

В частных случаях задача решается. Лично я её решал и решил для сравнений связанных с датами и строками размера до 50 символов довольно грубым способом на 50% состоящим из замены регулярных выражений на их сборный конструктор-аналог и на 50% заменой индекса на код по предпроцессингу входящего потока. Результаты 3 года назад опубликовал в виде библиотеки для Python qddate, там не все наработки, но значительная часть по распознаванию дат в любых форматах. Поэтому можно ли ускорить проверку качества данных и расчёт метрик по миллиардам записей в базах данных? Конечно можно и значительно!

#opendata #metadata #dataquality #datatools #tools
Команда создателей Datahub [1], каталога управления метаданными от LinkedIn, в 2020 году выделились в отдельный стартап Metaphor и вот в ноябре этого года анонсировали Metaphor Platform [2].

По сути это коммерческая SaaS платформа, аналогичная Datahub, используемая для сбора данных о данных (метаданных), но с разделением на 3 типа метаданных:
- технические метаданных - данные из первоисточиков о структуре, качестве, описании таблиц и тд.
- метаданные бизнеса - мэппинг между физическими данными и их производственным рабочим представлением, от сценариев использования
- поведенческие метаданные - привязывание данных к конкретным пользователям и их поведению.

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

В любом случае продукт ещё только в режиме demo, надо будет за ним последить внимательнее.

Ссылки:
[1] https://engineering.linkedin.com/blog/2019/data-hub
[2] https://metaphor.io/blog/metaphor-product-launch

#metadata #datacatalogs
Среди современного стека с данными отдельная тема, о которой я регулярно пишу, это продукты по data discovery, каталоги данных в современном стеке данных. О них было исследование Forrester Wave [1] в середине прошлого года и это такие продукты как Atlan, Alation, Collibra из коммерческих и продукты вроде Amundsen, Datahub и др. из недавно превращённых в открытые продукты с открытым кодом.

Так вот эти продукты переживают сейчас бум развития, инвестиций и пользовательского внимания, потому что уже многие крупные и средние компании накопили команды, наработки, данные и тд. а наведение в этом всём порядка оказывается большой задачей. Вернее задач там много, аналитические, задачи complience и тд.

Полезно посмотреть на два обзора и "каталога каталогов". Один от одного из сотрудников Atlan [2] со списком основных продуктов их конкурентов и кратким описанием каждого.

Другой от CastorDoc [3] с куда более детальным списком и сравнением по областям применения, стоимости и возможностям.

Сейчас это всё довольно сложные платформы, с разными акцентами на управлении метаданными. Лично приглядываюсь к ним потому что многие возможности такой платформы, но в формате открытого каталога, мы реализуем в DataCrafter'е. Например, автоматическая идентификация типов данных есть в Collibra, но пока мало где в других каталогах.

И я, конечно, не могу не обратить внимание насколько технологии Modern Data Stack оторваны от работы с открытыми данными и с исследовательскими данными. Чем больше я изучаю инструментарий технологический, логический и др. тем больше видна разница, между каталогами открытых данных и каталогами корпоративных метаданных. Я бы даже сказал что это разные миры которые практически не пересекаются по форматам данных, способам агрегации данных, способам доступа и так далее.

Ссылки:
[1] https://t.iss.one/begtin/2978
[2] https://www.notion.so/atlanhq/The-Ultimate-Repository-of-Data-Discovery-Solutions-149b0ea2a2ed401d84f2b71681c5a369
[3] https://notion.castordoc.com/catalog-of-catalogs

#datadiscovery #metadata #metadatamanagement #datacatalogs
В рубрике интересное регулярное чтение:
- Every product will be data product [1] - статья о том что любой корпоративный продукт превращается в data product. Мои предыдущие мысли о том что любой госпродукт - это data product очень похожи [2]. Превращение / восприятие любого цифрового продукта как продукта на данных - это очень логично.
- dbd: new ELT tool that you’ll love [3] - автор пишет про свежесозданный инструмент dbd для задач ETL (Extract Transform Load) с примерами загрузки данных. Не то чтобы ETL инструментов было мало, в том числе с открытым кодом, но может пригодится и этот [4]. Инструмент совсем свежий, написан на Python и, похоже, рабочий.
- (P)TL, a new data engineering architecture [5] - автор пытается описать новую архитектуру работы с данными как Pushing Transform Load, где Pushing заменяет Extract и сводится к тому что "давайте вместо извлечения данных будем получать их в структурированном виде из потоковых источников вроде Kafka". Проблема в том что такой подход работает только в случае управляемых источников данных, причём скорее внутренних или очень зрелых внешних способных отдавать поток данных.
- The Modern Metadata Platform: What, Why, and How? [6] - видение современной платформы метаданных от Metaphor, стартапа, как уже понятно, декларирующего создание именно такой платформы. Интересно, по сути, описанием стратегии на то что платформы управления метаданными - это давно уже не только индексация таблиц, а систематизация баз данных, дашбордов, озёр данных, ETL, A/ML и многое другое. Metaphor делает та же команда что создала Datahub в Lyft [7] так что эти рассуждения достойны внимания.
- AutoDoc — a project to document automatically your data warehouse [8] - о том как один из продуктов каталогизации данных автоматически документирует данные из популярных источников. Они отслеживают когда пользователь подключает данные из одного из популярных источников вроде Salesforce, Facebook Ads, Google Ads, HubSpot и ещё нескольких десятков (всего 61) и автоматически добавляют документацию и метаданные которые заранее собраны и привязаны к полям/таблицам из этих источников. Интересный подход, в DataCrafter'е мы используем другой, кучу правил идентификации типов данных на основе их содержания [9], технологически это сложнее.
- The MAD Landscape 2021 — A Data Quality Perspective [10] - обзор стартапов по автоматическому мониторингу инфраструктуры данных и качества данных, data observability и data quality. Обзор интересный про 3 основных способа контроля качества данных: на основе правил, машинного обучения и статистики.

А в качестве завершения, как сформулировано в последней заметке Data is eating the world по аналогии с известной фразой Марка Андерсена Software is eating the world.

Ссылки:
[1] https://medium.com/kyligence/every-product-will-be-a-data-product-19e648f0333
[2] https://t.iss.one/begtin/3423
[3] https://zsvoboda.medium.com/declarative-database-management-89d79e80d0cb
[4] https://github.com/zsvoboda/dbd
[5] https://adoreme.tech/p-tl-a-new-data-engineering-arhitecture-1dee8b7a84c0
[6] https://metaphor.io/blog/the-modern-metadata-platform
[7] https://engineering.linkedin.com/blog/2019/data-hub
[8] https://medium.com/castor-app/docmaster-a-project-to-auto-document-your-data-warehouse-castor-blog-69005927c4c3
[9] https://data.apicrafter.ru/class
[10] https://medium.com/validio/the-mad-landscape-2021-a-data-quality-perspective-e633f71c3eff

#dataquality #data #reading #dataengineering #metadata #dataproducts