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 [email protected]
加入频道
Возвращаю на голову шляпу дата инженера и продолжаю про разные инструменты.

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

Причём потребность в таком инструменте уже очень давно есть, а вот наглядно я видел только облачный сервис CastorDoc который в этом продвинулся и только некоторые дата каталоги. А я сам экспериментировал и создал утилиту metacrafter для идентификации семантических типов данных. Но потребность в автодокументировании шире. Это, как минимум:
1. Автоматизация описания полей набора данных, желательно на нескольких языках: английский, испанский, русский, армянский и тд.
2. Написание описания набора данных так чтобы по датасету или его части можно было бы рассказать о чём он.
3. Описание структуры датасета не просто перечислением полей, а указание типа, описания полей, числа уникальных записей и тд.
4. Автоидентификация и документирование справочников. Почти всегда эти справочники есть и почти всегда их необходимо идентифицировать и описывать.
5. Автоматическая генерация типовых запросов к данным по аналогии с автогенерацией кода для доступа к API, нужны автосгенерированные запросы для доступа к данным.

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

Самое простое и быстрое решение которое я вижу - это связка DuckDB + LLM модель, простые эксперименты подтверждают что это возможно и несложно. Но если Вы знаете хорошие/эффективные/удобные инструменты документирования датасетов - поделитесь, интересно их посмотреть в работе. Особенно те что с открытым кодом.

#opendata #datadocumentation #opensource #datatools #ideas
Про эксперименты с автоматизированным документированием датасетов, вот живой пример документирования связки DuckDB + LLM. На вход файл в формате Parquet, можно увидеть его содержимое. На выходе таблица с размеченными колонками. Некоторые LLM дают очень хороший результат с описанием колонок на основе их названия с пониманием контекста и расшифровкой полей в зависимости от контекста который LLM тоже понимает.
Осталось дообогатить таблицу семантическим типом данных и добавить генерацию документации. На вход был файл дампа Единого структурированного справочника-каталога лекарственных препаратов (ЕСКЛП), а на выходе его описание.

Осталось понять сделать ли это отдельным инструментом или встроить в ранее созданные утилиты undatum или metacrafter которые тут пересекаются

#datadocumentation #dataengineering #datatools
Полезные ссылки про данные, технологии и не только:
- Perforator [1] профайлер приложений от Яндекса и с использованием eBPF [2]. Полезно для отладки многих сложных и простых нативных приложений и отдельно расписано как профилировать и оптимизировать серверные приложения на Python. Выглядит как очень добротный open source продукт
- GPT Researcher [3] автономный инструмент для исследований с аккуратной простановкой цитат, использует внешние и локальные источники. Интегрирован с OpenAI
- The Illustrated DeepSeek-R1 [4] подробно о DeepSeek в картинках, позволяет легче ухватить суть продукта
- DataLumos [5] проект Университета Мичигана по архивации государственных и социальных данных, построен на базе OpenICPSR [6], данных не очень много, но они адаптированы под исследовательские задачи
- Data Formulator: Create Rich Visualizations with AI [7] полноценный движок для визуализации данных с помощью ИИ. Выпущен исследователями из Microsoft вместе с научной работой, под лицензией MIT. Выглядит как proof-of-concept, не факт что его можно применять в практических задачах сразу и из коробки, но для экспериментов самое оно. И для идей и вдохновения
- Chat2DB [8] открытый код (community edition) и сервис по управлению базами данных с помощью ИИ. Всё самое вкусное вынесли в коммерческие версии, но посмотреть стоит в любом случае.

Ссылки:
[1] https://perforator.tech
[2] https://ebpf.io
[3] https://github.com/assafelovic/gpt-researcher
[4] https://newsletter.languagemodels.co/p/the-illustrated-deepseek-r1
[5] https://www.datalumos.org
[6] https://www.openicpsr.org/openicpsr/
[7] https://github.com/microsoft/data-formulator
[8] https://chat2db.ai

#opensource #datatools #opendata #ai
Ещё один проект по быстрому созданию приложений на основе датасетов Preswald [1]. С открытым кодом, под лицензией Apache 2.0, вместо low code/no-code пропагандируют принцип Code-First Simplicity (минимальный, но необходимый код), а также декларативное программирование через конфигурацию в toml файлах.

Когда и кому такой инструмент зайдёт? Тем кому нужно быстро визуализировать данные в наглядном виде и предоставлять их в таком виде пользователям. В этом смысле продукт похож чем-то на Observable или Datasette [2] .

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

Ссылки:
[1] https://github.com/StructuredLabs/preswald
[2] https://datasette.io

#opensource #datatools
Полезные ссылки про данные, технологии и не только:
- Kreuzberg [1] библиотека для Python по извлечению текста из документов, поддерживает множество форматов, внутри использует Pandoc и Tesseract OCR. Создано как раз для использования в задачах RAG (Retrieval Augmented Generation) с прицелом на локальную обработку данных и минимумом зависимостей. Лицензия MIT
- Validoopsie [2] другая библиотека для Python для валидации данных. Использует библиотеку Narwhals благодаря которой подключается к почти любым видами дата-фреймов. Выглядит полезной альтернативой Great Expectations, лично для меня в валидации данных глобальный нерешённый вопрос в том что тут правильнее, код или декларативное программирования. Иначе говоря, правила проверки должны ли быть отчуждаемыми от языка разработки. Здесь валидация встроена в код, но поверх можно сделать и декларативный движок. Лицензия MIT
- Scripton [3] коммерческое IDE для Python с необычной фичей визуализации данных в реальном времени. Есть только скриншоты, записи экрана и коммерческая версия для macOS. Для тех кто занимается алгоритмической визуализацией может быть удобно, для остальных задач пока нет такой уверенности.
- New horizons for Julia [4] по сути статья о том что язык программирования Julia ещё жив и развивается. Правда медленно, на мой взгляд, но вроде как есть позитивное движение за пределами научных областей. Лично я почти не сталкивался с Julia кроме как на уровне примеров кода, но хорошо если он кому-то нравится и полезен.
- Data-Driven Scrollytelling with Quarto [5] визуализация дата-историй с помощью движка Quarto, итоги конкурса таких визуализаций с большим числом примеров и победителей. Примеры все от команды компании Posit которая этот open-source движок Quarto и разрабатывает. Скажу отдельно что это очень правильно. Если ты делаешь любой движок по визуализации, то просто обязательно надо проводить такие конкурсы.
- The Best Way to Use Text Embeddings Portably is With Parquet and Polars [6] ещё один обзор о том насколько эффективен Parquet в связке с Polars для работы с данными, в данном случае данными карт Magic of the Gathering. Автор тоже задаётся вопросом о том почему Parquet не поддерживается в MS Excel.
- How to Make Superbabies [7] особенно длинный лонгрид о том как генетическими изменениями можно улучшать человека, создавать супер детей или "оптимизированных детей", как ещё пишет автор. Читать и думать об этом надо потому что всё идёт к тому что скоро это станет ещё одной острой социальной и геополитической темой.

Ссылки:
[1] https://github.com/Goldziher/kreuzberg
[2] https://github.com/akmalsoliev/Validoopsie
[3] https://scripton.dev/
[4] https://lwn.net/Articles/1006117/
[5] https://posit.co/blog/closeread-prize-winners/
[6] https://minimaxir.com/2025/02/embeddings-parquet/
[7] https://www.lesswrong.com/posts/DfrSZaf3JC8vJdbZL/how-to-make-superbabies

#opensource #data #datatools #dataviz #genetics #python
Свежий полезный инструмент smallpond [1] от команды DeepSeek AI для тех кто работает с данными большого объёма и с необходимостью их распределения. Под капотом у него DuckDB и 3FS [2], другая разработка от DeepSeek AI в виде распределённой файловой системы с оптимизацией под обучение ИИ.

Ключевое - масштабируемость до петабайтных датасетов. Думаю что полезно для всех датасетов начиная с 1 ТБ и с масштабированием, а для данных объёмом поменьше уже будет избыточно.

Ссылки:
[1] https://github.com/deepseek-ai/smallpond
[2] https://github.com/deepseek-ai/3FS

#opensource #data #datatools
Полезный обзор Smallpond [1] свежего движка для обработки больших наборов/массивных потоков данных от Deepseek.

Внутри там DuckDB и автор копается во внутренностях движка объясняя как это работает.

Из интересного - да, это альтернатива Apache Spark или Daft. В общем-то DuckDB приобретает всё большую и большую популярность, встраивается внутрь самых разных инструментов.
Вот теперь ещё и в распределенные базы данных и в распределённую обработку данных.

Ссылки:
[1] https://mehdio.substack.com/p/duckdb-goes-distributed-deepseeks

#data #datatools #deepseek #dataengineering
Полезные ссылки про данные технологии и не только:
- Graph Databases after 15 Years – Where Are They Headed? [1] автор рассказывает об эволюции графовых баз данных и главный вывод что они стали очень нишевыми и в упадке, кроме очень узких применений.
- Keep Canvases Moving with DuckDB on the Server [2] count.io, сервис онлайн BI внедрили DuckDB для выполнения серверных запросов. Результаты в немедленном сокращении стоимости их выполнения.
- Polars Cloud; the distributed Cloud Architecture to run Polars anywhere [3] команда Polars запустила облачный сервис со своим продуктом, пока в режиме раннего доступа. Обещают масштабирование датафреймов и тд. Главное чтобы их открытый продукт при этом не пострадал или не оказался под какой-нибудь не совсем открытой лицензией.
- What Is a Flat File? [4] обзор текстовых форматов распространения файлов, поверхностный, но полезный для начинающих.
- Mistral OCR [5] переводчик PDF файлов в файлы Markdown от команды создателей Mistral AI. Говорят сами про себя что они лучшие в этом деле, но проверить пока не проверял.
- Aider is AI pair programming in your terminal [6] инструмент для подключения ИИ к написанию кода, умеет подключаться ко множеству моделей включая локальные. В том числе примеры по работе с данными [7]

Ссылки:
[1] https://www.youtube.com/watch?v=X_RFo616M_U
[2] https://count.co/blog/announcing-duckdb-on-the-server
[3] https://pola.rs/posts/polars-cloud-what-we-are-building/
[4] https://evidence.dev/blog/what-is-a-flat-file
[5] https://mistral.ai/news/mistral-ocr
[6] https://aider.chat/
[7] https://aider.chat/examples/census.html

#opensource #ai #data #datatools #rdbms
DuckDB выпустили UI интерфейс к базе данных [1] с открытым кодом (встроено в клиентское приложение DuckDB начиная с версии 1.2.11).

Запустить его можно командой duckdb -ui в командной строке и работать словно с тетрадками Jupyter Notebook или инструментами вроде OpenRefine.

Для тех кто сталкивается с задачами вроде Exploratory data analysis (EDA), когда вручную анализируешь данные, инструмент будет бесценен.

Сам UI сделан через расширение DuckDB компанией MotherDuck и поэтому включает авторизацию в их облачный сервис, что, впрочем, не мешает использовать его только локально.

Исходный код на C++ и JS доступен под лицензией MIT [2], при желании можно форкнуть и создать интерфейс с собственными плюшками, командной работе, авторизацией через другие сервисы и тд. А можно доработать его и сделать полноценную замену OpenRefine, к примеру.

Полезная штука по всем параметрам.

Ссылки:
[1] https://duckdb.org/2025/03/12/duckdb-ui
[2] https://github.com/duckdb/duckdb-ui

#opensource #duckdb #ui #data #datatools
SQLRooms [1] свежий инструмент с открытым кодом в жанре "BI для небогатых". Под капотом DuckDB-WASM, снаружи приложение на React. Позволяет строить разные интерактивные дашборды, с графиками и без, с AI и без. Самое главное что небольшими усилиями. Не no-code, но ближе к low-code.

У них симпатичный пример аналитики через LLM [2] и много других примеров. В живых примерах также интересно посмотреть на Flowmap City [3] и Cosmograph [4].

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

Открытый код и лицензия MIT.

Ссылки:
[1] https://sqlrooms.org
[2] https://sqlrooms-ai.netlify.app/
[3] https://www.flowmap.city/
[4] https://cosmograph.app/

#opensource #duckdb #data #dataviz #datatools