Ivan Begtin
9.3K subscribers
2.09K photos
3 videos
102 files
4.82K 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 ivan@begtin.tech
Download Telegram
В феврале я писал о том что федеральные органы власти очень халтурно публикуют данные из информационных систем в их ведении. Причём на фоне разговоров про цифровую трансформацию - это всё несколько комично.

Например, в феврале этого года я писал [1] про то что Минцифра очень халатно относится к ведению реестра аккредитованных ИТ компаний и не обновляли его 5 лет. Как думаете что произошло? Его начали обновлять и даже обновили в марте, апреле и в мае, а потом на него забили и не обновляли аж до августа месяца. А то что опубликовали в августе [2], а то что опубликовано вместо кодов ОГРН значения вроде "1,05E+12". Как так получается? Так получается когда экспорт данных делают: а) Из Excel. б) Без знания Excel. в) Не перепроверяют.

Буду краток: работа халатная, сроки нарушены, данные непригодны.

P.S. В реестре в Excel тоже есть ошибки и их, ожидаемо, не исправили.

Ссылки:
[1] https://t.me/begtin/2595
[2] https://digital.gov.ru/opendata/7710474375-registergosaccred/download/

#opendata #dataquality
Интересные стартапы анализа качества данных и качества потоков данных, развивающиеся в мире, но пока малоприменимые в России.

* Metaplane - позиционируют себя как Datadog для данных, позводяют отслеживать резкие изменения в потоках данных и предупреждать при их возникновении. Подключаются к облачным хранилищам и сервисам вроде Amazon Redshift, Snowflake, Google BigQuery, dbt, Looker. Публикуют полезный обзор State of data quality monitoring
* Anomalo - сервис мониторинга аномалий в данных, на текущий момент существует в виде концепта/прототипа/демо, обещают высокую автоматизацию, если даже не автоматическое выявление аномалий в потоках данных
* Data Fold - сервис каталогизации, систематизации данных и предупреждений при нарушениях в потоках данных. У них фокус на такое явление как data outages - задержки в поставках данных и оперативное реагирование. Сервисы с которыми интегрируются практически те же что и у Metaplane
* Databand - платформа для наблюдаемости данных, data observability, с большим списком интегрируемых сервисов и системами предупреждений при аномалиях

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

#observability #data #dataquality
В рубрике инструментов работы с данными, об инструментах с открытым кодом для работы над качеством данных.

- 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
В рубрике интересное регулярное чтение:
- 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.me/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
Команда Superconductive стоящая за Great Expecations open source продуктом по контролю качества данных подняла $40M инвестиций на создание облачного продукта [1]

Можно сказать что у инструментов работы с данными просто заметнейший тренд на то что вначале команды создают востребованное open source ПО, а потом берут инвестиции на облачную версию.

Главное, я напомню, не забывать судьбу CloverETL которые начинали с open source продукта, а потом убили его ради корпоративной версии и таких примеров в настольном и сервером ПО немало, а у open source + облачного другие особенности, главная из которых в том что авторы часто потом добавляют в open source решение зависимость от своей облачной инфраструктуры.

Ссылки:
[1] https://techcrunch.com/2022/02/10/superconductive-creators-of-great-expectations-raises-40m-to-launch-a-commercial-version-of-its-open-source-data-quality-tool/

#opensource #dataquality #startups #investments
Кажется я ещё ни разу об этом не писал, о том как сопоставить метрики качества данных используемые в Modern Data Stack и в порталах открытых данных. Во многом там разные подходы, я писал о разнице между разными типами каталогов в большом тексте на Medium.

В блоге Towards Data Science полезный текст от Prukalpa, сооснователя стартапа Atlan, про методику 5WH1

5WH1
- это список вопросов по качеству данных на которые нужны ответы: What, Why, Where, Who, When, and How.

Или, по русски։ Что, Почему, Где, Кто, Когда и Как

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

Тем не менее, наиболее продуманный стандарт мониторинга качества метаданных - это европейский MQA (Metadata Quality Assurance). Но критерии там иные: Findability, Accessibility, Interoperabilty, Contextuality, Reusability.

Перечень метаданных собираемых в рамках агрегации описаний по стандарту DCAT-AP для открытых данных даже больше, но и качество данных многократно ниже.

Подробнее и со ссылками в моей заметке на Medium на английском [1]

Ссылки:
[1] https://medium.com/@ibegtin/data-catalogs-part-3-metadata-quality-observation-c49be890f6ff

#opendata #metadata #dataquality
Когда много пишешь всегда наступает момент когда надо систематизировать написанное.

Я собрал мои тексты про информатизацию государства, открытые государственные данные, качество госданных, государственные финансы, государственную политику и т.д. в одну большую подборку в рассылке [1].

Там только большие тексты, без учёта опубликованного в этом телеграм канале, в фэйсбуке и тд. Тексты вышедшие колонками в Ведомостях, Forbes, РБК и в моих блоге и в рассылке. Я мог упустить колонки в других изданиях, но большую часть материалов должен быть охватить.

Полезного чтения!

Ссылки:
[1] https://begtin.substack.com/p/29

#opendata #government #policy #dataquality #govfinances
Хороший обзор прослеживаемости данных (data lineage) [1] от Borja Vazquez из Monzo Bank

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

Автор делает акцент на картографии данных в разных разрезах - пользовательского использования, качества данных, производительности и тд. в разных формах картографии данных, в основном вокруг DAG (directed acyclic graph) и потоков обработки данных.

Текст короткий, постановка проблем и подходов вполне понятные.

Когда-то я также активно занимался картированием данных, в основном для задач, обнаружения данных (data discovery).

Это другой подход, его задача идентифицировать основные источники данных в целях:
а) Внутреннего аудита
б) Создания дата-продукта

В итоге вместо того чтобы многие карты данных мы собрали общедоступные источники данных в datacatalogs.ru [2]

Ключевая разница между картографией данных на уровне прослеживаемости и картами данных для их обнаружения - в зрелости объектов анализа. В корпоративном мире, как правило, есть возможность влиять на потоки данных, источники данных, процедуры и тд. Ключевой вопрос: "Где проблемы? Как организовать процесс чтобы решать проблемы оперативно?"

В работе с открытыми источниками ключевые вопросы: "Как найти источник? Как получить к нему доступы?"

Ссылки:
[1] https://medium.com/data-monzo/the-many-layers-of-data-lineage-2eb898709ad3
[2] https://datacatalogs.ru

#data #dataquality #datamaps #opendata #datalineage
This media is not supported in your browser
VIEW IN TELEGRAM
Свежий интересный проект с открытым кодом по мониторингу качества данных Elementary Data [1] изначально собранный через интеграцию с dbt и возможность мониторинга данных в хранилищах данных.

Формирует отчеты по наблюдению за данными (data observability report) на основе проведенных тестов.

Как я понимаю, собираются монетизироваться через облачный сервис, который сейчас готовится к бета тестированию.

Построить контроль качества данных на основе dbt - это актуальная задумка, будет актуальна для многих задач и сред. Главный минус - отсутствие поддержки NoSQL потому что NoSQL нет в dbt.

Впрочем инструмент интересный, надо пробовать.

Ссылки:
[1] https://www.elementary-data.com/

#opensource #datatools #dataquality