Ivan Begtin
9.3K subscribers
2.08K photos
3 videos
102 files
4.81K 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
Обнаружил ещё один инструмент по проверке данных validator [1], умеет делать кросс табличные проверки данных и использует схему из спецификации Frictionless Data [2]. Пока малоизвестный, но кто знает. Он выглядит неплохо по способу реализации, но есть проблема с самой спецификацией и о ней отдельно.

Я неоднократно писал про Frictionless Data, это спецификация и набор инструментов созданных в Open Knowledge Foundation для описания и публикации наборов данных. Спецификация много лет развивалась, вокруг неё появился пул инструментов, например, свежий Open Data Editor [3] помогающий готовить датасеты для публикации на дата платформах на базе ПО CKAN.

С этой спецификацией есть лишь одна, но серьёзная проблема. Она полноценно охватывает только плоские табличные файлы. Так чтобы работать со схемой данных, использовать их SDK, тот же Open Data Editor и тд. Это даёт ей применение для некоторых видов данных с которыми работают аналитики и куда хуже с задачами дата инженерными.

Существенная часть рабочих данных с которыми я сталкивался - это не табличные данные. К примеру, в плоские таблицы плохо ложатся данные о госконтрактах или юридических лицах или объектах музейных коллекций. Там естественнее применения JSON и, соответственно, построчного NDJSON.

Для таких данных куда лучше подходят пакеты валидации данных вроде Cerberus [4]. Я использовал её в случае с реестром дата каталогов [5] в Dateno и пока не видел решений лучше.

Ссылки:
[1] https://github.com/ezwelty/validator/
[2] https://specs.frictionlessdata.io
[3] https://opendataeditor.okfn.org
[4] https://docs.python-cerberus.org/
[5] https://github.com/commondataio/dataportals-registry/

#opensource #data #datatools #dataquality
Я лично не пишу научных статей, потому что или работа с данными, или писать тексты. Но немало статей я читаю, почти всегда по очень узким темам и пользуюсь для этого, в основном, Semantic Scholar и подобными инструментами. Смотрю сейчас Ai2 Paper Finder [1] от института Аллена и они в недавнем его анонсе [2] пообещали что он умеет находить очень релевантные ответы по по очень узким темам. Собственно вот пример запроса по узкой интересной мне теме и он нашёл по ней 49 работ.

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

Там же в анонсе у них есть ссылки на схожие продукты в этой области и на бенчмарки LitSearch [3] и Pasa [4] для измерения качества поиска по научным работам работам.

Ссылки:
[1] https://paperfinder.allen.ai/
[2] https://allenai.org/blog/paper-finder
[3] https://github.com/princeton-nlp/LitSearch
[4] https://github.com/bytedance/pasa

#ai #openaccess #opensource #science
И о научных работах которые я искал, собственно более всего меня интересовали свежие статьи о автодокументировании наборов данных и вот наиболее релевантная работа AutoDDG: Automated Dataset Description Generation using Large Language Models [1] которую я проглядел несмотря на то что у меня в Semantic Scholar настроены фильтры с уведомлением о статьях по определенным темам. Кстати, хорошо бы если бы эти фильтры могли иметь форму запросов к AI помощнику, результаты должны быть точнее.

А статья интересная, от команды Visualization, Imaging, and Data Analysis Center at New York University (VIDA-NYU) которые делали очень много разных инструментов по автоматизации анализа данных и, кстати, они авторы одного из поисковиков по открытым данным Auctus [2], только они забросили этот проект года 3 назад, но он был интересен.

Вот эта команда вместе со статьёй выложили код AutoDDG [3] который пока явно мало кто видел. Можно код посмотреть и увидеть что они там делали примерно то что и я в утилите undatum [4], но с лучшей проработкой. Вернее у меня проработка была практическая и моя утилита умеет датасеты в разных форматах документировать, но у них, несомненно, качество документирования проработаннее и продуманнее.

Хорошая статья, полезный код. Прилинковывать его к своим проектам я бы не стал, но идеи подсмотреть там можно. Заодно они применяют ИИ для выявления семантических типов данных, приятно что кто-то думает в том же направлении что и я;)

Ссылки:
[1] https://www.semanticscholar.org/reader/5298f09eced7aa2010f650ff16e4736e6d8dc8fe
[2] https://github.com/VIDA-NYU/auctus
[3] https://github.com/VIDA-NYU/AutoDDG
[4] https://t.me/begtin/6578

#opensource #datadocumentation #ai #aitools
Очень любопытный подход к созданию каталогов данных для распространения тяжёлых датасетов бесплатно 0$ Data Distribution [1]. Если вкратце то автор воспользовался сервисом Clouflare R2 в опции Egress и используя DuckDB и таблицы Iceberg, распространяя файлы в формате Parquet.

DuckDB там можно заменить на PyIceberg или Snowflake, главное возможность бесплатно подключить и захостить данные. У автора хорошее демо [2] с тем как это работает, ограничения только в том что надо вначале, достаточно быстро и автоматически получить ключ доступа к каталогу, но это как раз не проблема.

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

И сама работа с таблицами используя Apache Iceberg [3]. Если вы ещё не читали об этом подходе и инструменте, то стоит уделить время. Это тот случай когда каталог данных существует в дата инженерном контексте, а то есть по автоматизации работы с данными, но без СУБД. Однако поверх Iceberg можно построить свои системы управления данными, как открытые так и не очень. Это одна из фундаментальных технологий в том смысле что из неё и других как конструктор можно собрать свой дата продукт.

Ссылки:
[1] https://juhache.substack.com/p/0-data-distribution
[2] https://catalog.boringdata.io/dashboard/
[3] https://iceberg.apache.org/

#opensource #datacatalogs #dataengineering #analytics
Про Apache Iceberg как всё более нарастающий технологический тренд в дата инженерии, ещё в декабре 2024 года Amazon добавили его поддержку в S3, а сейчас появляется всё больше число инструментов поддерживающих подключение к Apache Iceberg.

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

Что важно знать про Apache Iceberg:
1. Это стандарт и ПО для построения озер данных созданный для преодоления ограничений предыдущих продуктов со схожими функциями такими как Apache Hudi
2. В основе Apache Iceberg технологии хранения на базе S3 и файлы Parquet. Parquet используется как контейнеры хранения данных, а S3 как хранилище данных и метаданных
3. Фундаментальная идея в реализации недорого хранилища для аналитических данных с высокопроизводительным доступом через SQL.
4. Важная причина роста популярности в комбинации: производительности, снижения стоимости и большой экосистемы из движком для запросов (query engines)
5. Серверных продуктов с открытым кодом для Apache Iceberg пока немного, кроме самой референсной реализации есть Nessie и Lakekeeper. Но много облачных провайдеров которые поддерживают такие таблицы.
6. Большая часть примеров сейчас про облачные S3 хранилища, в основном AWS. Для подключения S3 совместимых хранилищ требуется повозится
7. Применять Apache Iceberg оправдано когда у вас есть команда аналитиков умеющих в SQL и совсем неоправдано для не умеющих
8. К задачам связанным с открытыми данными этот тип дата каталога малоприменим потому что он про удобное рабочее место для продвинутого аналитика, а не про дистрибуцию данных.
9. Вообще такие продукты - это про разницу между каталогами данных, каталогами метаданных, каталогами открытых данных. Названия выглядят так словно отличий мало, а отличия огромны. Как и области применения.

#opensource #dataengineering #dataanalytics #iceberg
Полезные ссылки про данные, технологии и не только:
- Cloudflare R2 data catalog [1] свежий каталог данных на базе Apache Iceberg от Cloudflare поверх их сервиса хранения файлов R2. Хорошая новость, потому что R2 дешевле Amazon S3 при сравнимом качестве сервиса. Жду когда Backblaze запустит аналогичный сервис для их Backblaze B2
- xorq [2] читается как zork, фреймворк для обработки данных с помощью разных движков. Там и DuckDB, и Pandas, и DataFusion и др. Удобство в универсальности, но продукт пока малоизвестный, надо смотреть
- Iceberg?? Give it a REST! [3] автор рассуждает о том что без REST каталога Iceberg малополезен и, в принципе, про развитие этой экосистемы. Многие уже рассматривают стремительный взлёт Iceberg как хайп, что не отменяет того что технология весьма любопытная.
- BI is dead. Change my mind. [4] текст от Engeneering director в Clickhouse о том как меняется (может поменяться) BI в ближайшее время. TLDR: LLM + MCP + LibreChat. Чтение полезное для всех кто занимается внутренней аналитикой и использует Clickhouse
- Roadmap: Data 3.0 in the Lakehouse Era [5] изменения в экосистеме управления данными с точки зрения венчурного капитала. Простым языком для тех кто инвестирует средства в то какие новые технологии в дата инженерии появились и развиваются.

Ссылки:
[1] https://blog.cloudflare.com/r2-data-catalog-public-beta/
[2] https://github.com/xorq-labs/xorq
[3] https://roundup.getdbt.com/p/iceberg-give-it-a-rest
[4] https://www.linkedin.com/pulse/bi-dead-change-my-mind-dmitry-pavlov-2otae/
[5] https://www.bvp.com/atlas/roadmap-data-3-0-in-the-lakehouse-era

#opensource #dataanalytics #datatools #dataengineering
Любопытный проект Local deep research [1] локальный privacy-first инструмент для постановки заданий LLM для комплексных исследований. По аналогии с режимами deep research в OpenAI, Perplexity и других облачных прдуктах.

Описание очень симпатично и кажется практичным, но лично у меня с первой попытки не завелось, исследования по темам Recent development in CSV files analysis и Recent development in automatic data analysis не принесли никаких результатов.

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

Впрочем это не единственный инструмент, есть ещё deep-searcher [2] который тоже умеет искать с использованием разных моделей и возвращать результаты локально.

Ссылки:
[1] https://github.com/LearningCircuit/local-deep-research
[2] https://github.com/zilliztech/deep-searcher

#opensource #ai #research #analytics