Forwarded from Ivan Begtin (Ivan Begtin)
Для тех кто работает с CSV файлами, неплохой и даже немного смешной текст A love letter to the CSV format [1] где автор рассуждает и расхваливает преимущества CSV формата для данных и аргументы его неплохи, но... лично мне недостатки не перевешивают. На его 9 пунктов я могу пару десятков пунктов написать о недостатках CSV, но плюсы тоже есть, чего уж тут скрывать. И, правильнее сказать что не один автор, а авторы, создатели утилиты xan, the CSV magician [2] для обработки CSV файлов.
Утилита эта является переписанной и переработой утилиты xsv [3] и позволяет вытворять самое разное с CSV файлами, включая визуализации, параллельную обработку, просмотр с командной строки и ещё многое другое.
Хороший инструмент, у него только один недостаток, он работает только с CSV файлами😂
Для тех кто любит командную строку и CSV формат - незаменимая штука.
Ссылки:
[1] https://github.com/medialab/xan/blob/master/docs/LOVE_LETTER.md
[2] https://github.com/medialab/xan
[3] https://github.com/BurntSushi/xsv
#opensource #data #datatools
Утилита эта является переписанной и переработой утилиты xsv [3] и позволяет вытворять самое разное с CSV файлами, включая визуализации, параллельную обработку, просмотр с командной строки и ещё многое другое.
Хороший инструмент, у него только один недостаток, он работает только с CSV файлами😂
Для тех кто любит командную строку и CSV формат - незаменимая штука.
Ссылки:
[1] https://github.com/medialab/xan/blob/master/docs/LOVE_LETTER.md
[2] https://github.com/medialab/xan
[3] https://github.com/BurntSushi/xsv
#opensource #data #datatools
Forwarded from Ivan Begtin (Ivan Begtin)
Обнаружил ещё один инструмент по проверке данных 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
Я неоднократно писал про 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
Forwarded from Ivan Begtin (Ivan Begtin)
В рубрике как это устроено у них о том как управляют публикацией открытых данных во Франции. Частью французского национального портала открытых данных является schema.data.gouv.fr [1] на котором представлено 73 схемы с описанием структурированных данных. Эти схемы охватывают самые разные области и тематики:
- схема данных о государственных закупках
- схема данных о грантах
- схема данных архивных реестров записей
и ещё много других.
Всего по этим схемам на портале data.gouv.fr опубликовано 3246 наборов данных, чуть более 5% от всего что там размещено.
Особенность портала со схемами в том что все они опубликованы как отдельные репозитории на Github созданными из одного шаблона. А сами схемы представлены, либо по стандарту Frictionless Data - тот самый формат про таблицы о котором я писал и он тут называется TableSchema, либо в формате JSONSchema когда данные не табличные. В общем-то звучит как правильное сочетания применения этих подходов.
А для простоты публикации данных по этим схемам у был создан сервис Validata [2] в котором загружаемые данные можно проверить на соответствие этой схеме.
Ссылки:
[1] https://schema.data.gouv.fr
[2] https://validata.fr/
#opendata #datasets #data #datatools #france
- схема данных о государственных закупках
- схема данных о грантах
- схема данных архивных реестров записей
и ещё много других.
Всего по этим схемам на портале data.gouv.fr опубликовано 3246 наборов данных, чуть более 5% от всего что там размещено.
Особенность портала со схемами в том что все они опубликованы как отдельные репозитории на Github созданными из одного шаблона. А сами схемы представлены, либо по стандарту Frictionless Data - тот самый формат про таблицы о котором я писал и он тут называется TableSchema, либо в формате JSONSchema когда данные не табличные. В общем-то звучит как правильное сочетания применения этих подходов.
А для простоты публикации данных по этим схемам у был создан сервис Validata [2] в котором загружаемые данные можно проверить на соответствие этой схеме.
Ссылки:
[1] https://schema.data.gouv.fr
[2] https://validata.fr/
#opendata #datasets #data #datatools #france
Forwarded from Ivan Begtin (Ivan Begtin)
Полезные ссылки про данные, технологии и не только:
- 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
- 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
The Cloudflare Blog
R2 Data Catalog: Managed Apache Iceberg tables with zero egress fees
R2 Data Catalog is now in public beta: a managed Apache Iceberg data catalog built directly into your R2 bucket.
Forwarded from Ivan Begtin (Ivan Begtin)
По поводу каталогов данных на базы Apache Iceberg, я не поленился и развернул один на базе Cloudflare R2 о котором писал ранее и могу сказать что всё прекрасно работает, с некоторыми оговорками конечно:
- каталог в Cloudflare R2 настраивается очень просто, без танцев с бубном, но требует ввода карты даже если не надо платить (на бесплатном тарифе в R2 можно хранить до 10GB и бесплатный исходящий трафик). Фактически там просто одна галочка которую надо включить
- подключение к pyIceberg также крайне простое, и в части загрузки данных, и в части запросов к ним. Для всего есть примеры
- а вот для прямого подключения DuckDB к этому каталогу танцы с бубном явно понадобятся, потому что в документации нет ничего про R2, примеры только с Amazon S3 Tables и Amazon Glue, скорее всего всё вскоре появится, но пока ничего нет.
- не заработало передача параметров фильтрации в функции table.scan, что решается последующим запросом к не фильтрованным записям, но при фильтрации требует очень много памяти;
- какие-либо UI для каталогов Apache Iceberg пока отсутствуют. Вернее есть встроенные инструменты в облачных сервисах и возможность посмотреть на загруженное в open source каталогах типа Nessie и Lakehouse, но всё это встроенные интерфейсы. Явно напрашивается UI для Iceberg browser и доступ к таблицам из веб интерфейса через DuckDB WASM к примеру.
- спецификация предусматривает возможность задания метаданных таблицам и пространствам имён, но у меня это не сработало. Впрочем я бы метаданные по пространствам имён хранил бы отдельно. Как то это логичнее
- хотя UI для каталога нет, но UI для доступа к данным в нём можно обеспечить через UI к DuckDB. Хотя для DuckDB нет пока инструкций для подключения к R2, но есть примеры прямого чтения метаданных по файлу манифеста в JSON
- есть ощущение что для работы с Iceberg и подобными таблицами напрашивается кеширующий клиент. Собственно я не первый и не один кто об этом думает.
В целом выглядит перспективно как долгосрочная технология, но ещё много что требует оптимизации и инструментарий только на стадии становления.
#datatools #data #dataengineering #dataanalytics
- каталог в Cloudflare R2 настраивается очень просто, без танцев с бубном, но требует ввода карты даже если не надо платить (на бесплатном тарифе в R2 можно хранить до 10GB и бесплатный исходящий трафик). Фактически там просто одна галочка которую надо включить
- подключение к pyIceberg также крайне простое, и в части загрузки данных, и в части запросов к ним. Для всего есть примеры
- а вот для прямого подключения DuckDB к этому каталогу танцы с бубном явно понадобятся, потому что в документации нет ничего про R2, примеры только с Amazon S3 Tables и Amazon Glue, скорее всего всё вскоре появится, но пока ничего нет.
- не заработало передача параметров фильтрации в функции table.scan, что решается последующим запросом к не фильтрованным записям, но при фильтрации требует очень много памяти;
- какие-либо UI для каталогов Apache Iceberg пока отсутствуют. Вернее есть встроенные инструменты в облачных сервисах и возможность посмотреть на загруженное в open source каталогах типа Nessie и Lakehouse, но всё это встроенные интерфейсы. Явно напрашивается UI для Iceberg browser и доступ к таблицам из веб интерфейса через DuckDB WASM к примеру.
- спецификация предусматривает возможность задания метаданных таблицам и пространствам имён, но у меня это не сработало. Впрочем я бы метаданные по пространствам имён хранил бы отдельно. Как то это логичнее
- хотя UI для каталога нет, но UI для доступа к данным в нём можно обеспечить через UI к DuckDB. Хотя для DuckDB нет пока инструкций для подключения к R2, но есть примеры прямого чтения метаданных по файлу манифеста в JSON
- есть ощущение что для работы с Iceberg и подобными таблицами напрашивается кеширующий клиент. Собственно я не первый и не один кто об этом думает.
В целом выглядит перспективно как долгосрочная технология, но ещё много что требует оптимизации и инструментарий только на стадии становления.
#datatools #data #dataengineering #dataanalytics
Forwarded from Ivan Begtin (Ivan Begtin)
Полезные ссылки для работы с данными, технологиями и не только:
- DocsGPT и LocalGPT два похожих продукта для извлечения знаний и чата с локальными документами. Первый под лицензией MIT, второй под Apache 2.0. Поддерживают множество форматов документов, работают с облачными и локальными моделями ИИ. Какой лучше не знаю, надо пробовать оба продукта.
- Markitdown утилита от Microsoft по преобразованию чего угодно в формат markdown. Поддерживает документы MS Office, PDF, HTML, аудио и изображения и многое другое.
- AI Dataset generator генератор синтетических наборов данных с помощью ИИ. Умеет подключаться к разным LLM и интегрировано с инструментом визуализации Metabase. Открытый код, лицензия MIT
- gt-extras расширение для пакета great-tables для Python позволяющее рисовать красивые таблицы в Python в средах научных тетрадок Jupyter или в Quatro из фреймов данных Pandas и Polars. Удобное для всех кто занимается аналитикой на данных
- OpenAIRE changelog хороший пример версионирования и журнала большого открытого дата-продукта.
#opensource #data #datatools
- DocsGPT и LocalGPT два похожих продукта для извлечения знаний и чата с локальными документами. Первый под лицензией MIT, второй под Apache 2.0. Поддерживают множество форматов документов, работают с облачными и локальными моделями ИИ. Какой лучше не знаю, надо пробовать оба продукта.
- Markitdown утилита от Microsoft по преобразованию чего угодно в формат markdown. Поддерживает документы MS Office, PDF, HTML, аудио и изображения и многое другое.
- AI Dataset generator генератор синтетических наборов данных с помощью ИИ. Умеет подключаться к разным LLM и интегрировано с инструментом визуализации Metabase. Открытый код, лицензия MIT
- gt-extras расширение для пакета great-tables для Python позволяющее рисовать красивые таблицы в Python в средах научных тетрадок Jupyter или в Quatro из фреймов данных Pandas и Polars. Удобное для всех кто занимается аналитикой на данных
- OpenAIRE changelog хороший пример версионирования и журнала большого открытого дата-продукта.
#opensource #data #datatools
GitHub
GitHub - arc53/DocsGPT: Private AI platform for agents, assistants and enterprise search. Built-in Agent Builder, Deep research…
Private AI platform for agents, assistants and enterprise search. Built-in Agent Builder, Deep research, Document analysis, Multi-model support, and API connectivity for agents. - arc53/DocsGPT
Forwarded from Ivan Begtin (Ivan Begtin)
Полезные ссылки про данные, технологии и не только:
- DuckDB XML Extension - расширение для DuckDB для парсинга XML/HTML, пока не пробовал и интересно как он сможет съесть XML в пару пару десятков гигабайт, но выглядит полезно
- remote-jobs - репозиторий с огромным числом IT компаний имеющих вакансии для дистанционной работы. Некоторые компании remote-only, без офисов, в некоторых гибридный подход, в любом случае список полезный для тех кто ищет работу дистанционно
- Embedding User-Defined Indexes in Apache Parquet Files - для тех кто хочет поглубже разобраться с тем что такое Parquet, разбор реализации специализированного индекса внутри Parquet файлов.
- Rethinking CLI interfaces for AI у автора рефлексия о переосмыслении подхода к созданию и развитию утилит командной строки в контексте MCP и LLM. Текст довольно короткий, но здравый
- Edit перевыпуск древнего редактора Edit для MS-DOS переписанного на Rust под множество платформ. Для тех кого пробивает на ностальгию, но у меня лично по Edit'у никакой ностальгии не осталось, он мне не нравился ещё тогда;)
#opensource #ai #datatools
- DuckDB XML Extension - расширение для DuckDB для парсинга XML/HTML, пока не пробовал и интересно как он сможет съесть XML в пару пару десятков гигабайт, но выглядит полезно
- remote-jobs - репозиторий с огромным числом IT компаний имеющих вакансии для дистанционной работы. Некоторые компании remote-only, без офисов, в некоторых гибридный подход, в любом случае список полезный для тех кто ищет работу дистанционно
- Embedding User-Defined Indexes in Apache Parquet Files - для тех кто хочет поглубже разобраться с тем что такое Parquet, разбор реализации специализированного индекса внутри Parquet файлов.
- Rethinking CLI interfaces for AI у автора рефлексия о переосмыслении подхода к созданию и развитию утилит командной строки в контексте MCP и LLM. Текст довольно короткий, но здравый
- Edit перевыпуск древнего редактора Edit для MS-DOS переписанного на Rust под множество платформ. Для тех кого пробивает на ностальгию, но у меня лично по Edit'у никакой ностальгии не осталось, он мне не нравился ещё тогда;)
#opensource #ai #datatools
Forwarded from Ivan Begtin (Ivan Begtin)
Для тех кто работает с данными на регулярной основе и любит командную строку:
- xan, the CSV magician - инструмент для манипуляции с CSV файлами от команды medialab французского SciencePo. Акценты на визуализацию в командной строке. Написан на Rust, открытая лицензия
- qsv - инструмент обработки CSV файлов с акцентом на производительность и подготовку данных для публикации на порталах открытых данных CKAN. Написан на Rust, открытая лицензия
- q - инструмент SQL запросов к текстовым файлам, например, CSV
- jq - инструмент запросов к JSON файлам
Я также создавал немало инструментов командной строки https://t.me/begtin/6557, но, каюсь, у всех из них есть явные недостатки в отсутствии документации.
Та часть жизни когда хочется больше программировать, а приходится проектировать продукты, писать документы, собеседовать людей и многое другое.
#data #tools #datatools
- xan, the CSV magician - инструмент для манипуляции с CSV файлами от команды medialab французского SciencePo. Акценты на визуализацию в командной строке. Написан на Rust, открытая лицензия
- qsv - инструмент обработки CSV файлов с акцентом на производительность и подготовку данных для публикации на порталах открытых данных CKAN. Написан на Rust, открытая лицензия
- q - инструмент SQL запросов к текстовым файлам, например, CSV
- jq - инструмент запросов к JSON файлам
Я также создавал немало инструментов командной строки https://t.me/begtin/6557, но, каюсь, у всех из них есть явные недостатки в отсутствии документации.
Та часть жизни когда хочется больше программировать, а приходится проектировать продукты, писать документы, собеседовать людей и многое другое.
#data #tools #datatools
Forwarded from Ivan Begtin (Ivan Begtin)
Для тех кто любит исследовать данные, любопытный open source проект с непереводимым, но благозвучным названием huey который внутри использует DuckDB-WASM, а на вход разные дата файлы - parquet, csv, json и др. и позволяет их исследовать прямо в браузере. Можно отнести его к категории data exploration tool, их всё больше, все немного разные и безусловно иногда необходимые.
Из минусов:
- не поддерживает CSV файлы с кодировками отличными от utf8
- не всегда умеет распознавать структуру файлов
Из плюсов:
- всё локально в браузере
#opensource #datatools #duckdb
Из минусов:
- не поддерживает CSV файлы с кодировками отличными от utf8
- не всегда умеет распознавать структуру файлов
Из плюсов:
- всё локально в браузере
#opensource #datatools #duckdb
Forwarded from Ivan Begtin (Ivan Begtin)
Sim, ещё один любопытный продукт оркестратор потоков данных со встроенной работой с промптами. Доступен под свободной лицензией Apache 2.0, имеет встроенное ИИ и сделан по архитектуре local-first и может использоваться без облачных сервисов, а для ИИ можно связать с Ollama.
Выглядит интересно для задач с минимальной дата инженерией и как альтернатива n8n.
#opensource #dataengineering #ai #datatools
Выглядит интересно для задач с минимальной дата инженерией и как альтернатива n8n.
#opensource #dataengineering #ai #datatools