Для тех кто работает с 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
👍12✍2
Полезные ссылки про данные, технологии и не только:
- DuckDB Roadmap [1] команда DuckDB опубликовала дорожную карту. Много любопытного, обещают шифрование базы данных в будущем, поддержку парсинга XML
- FastOpenAPI [2] библиотека для Python для быстрого создания документации и схемы API по стандарту OpenAPI. Поддерживает Flask, Falcon, Starlette, Sanic и Tornado. Полезно для очень быстрого развертывания API с помощью Python.
- CSVConf [3] пройдёт в сентябре 2025 года в Болонье, Италия. Это конференция больше про сообщество чем про индустрию, там про применение данных в исследованиях и гражданском обществе. Ещё есть время подать заявку на выступление [4]
- Streamlining access to tabular datasets stored in Amazon S3 Tables with DuckDB [5] в блоге Amazon о том как настраивать хранилище файлов для прямого доступа к S3 таблицам через DuckDB.
- Unstructuted [6] open source и SaaS сервис для обработки данных через извлечение их из PDF, HTML, Word и других документов. Интересная бизнес модель, открытый код доступен, а через его же библиотеку и утилиту командной строки можно подключить аккаунт их облачного продукта и преобразовывать данные быстрее с его помощью. Такая бизнес модель аллергии не вызывает, похоже на хороший, годный продукт.
Ссылки:
[1] https://duckdb.org/docs/stable/dev/roadmap.html
[2] https://github.com/mr-fatalyst/fastopenapi
[3] https://csvconf.com/
[4] https://docs.google.com/forms/d/e/1FAIpQLSdoCI37INVkMMI3tcRLJ5dr2Lfrd86TqH_NjvhT02xoSUMYmw/viewform
[5] https://aws.amazon.com/ru/blogs/storage/streamlining-access-to-tabular-datasets-stored-in-amazon-s3-tables-with-duckdb/
[6] https://github.com/Unstructured-IO/unstructured
#opensource #data #datatools
- DuckDB Roadmap [1] команда DuckDB опубликовала дорожную карту. Много любопытного, обещают шифрование базы данных в будущем, поддержку парсинга XML
- FastOpenAPI [2] библиотека для Python для быстрого создания документации и схемы API по стандарту OpenAPI. Поддерживает Flask, Falcon, Starlette, Sanic и Tornado. Полезно для очень быстрого развертывания API с помощью Python.
- CSVConf [3] пройдёт в сентябре 2025 года в Болонье, Италия. Это конференция больше про сообщество чем про индустрию, там про применение данных в исследованиях и гражданском обществе. Ещё есть время подать заявку на выступление [4]
- Streamlining access to tabular datasets stored in Amazon S3 Tables with DuckDB [5] в блоге Amazon о том как настраивать хранилище файлов для прямого доступа к S3 таблицам через DuckDB.
- Unstructuted [6] open source и SaaS сервис для обработки данных через извлечение их из PDF, HTML, Word и других документов. Интересная бизнес модель, открытый код доступен, а через его же библиотеку и утилиту командной строки можно подключить аккаунт их облачного продукта и преобразовывать данные быстрее с его помощью. Такая бизнес модель аллергии не вызывает, похоже на хороший, годный продукт.
Ссылки:
[1] https://duckdb.org/docs/stable/dev/roadmap.html
[2] https://github.com/mr-fatalyst/fastopenapi
[3] https://csvconf.com/
[4] https://docs.google.com/forms/d/e/1FAIpQLSdoCI37INVkMMI3tcRLJ5dr2Lfrd86TqH_NjvhT02xoSUMYmw/viewform
[5] https://aws.amazon.com/ru/blogs/storage/streamlining-access-to-tabular-datasets-stored-in-amazon-s3-tables-with-duckdb/
[6] https://github.com/Unstructured-IO/unstructured
#opensource #data #datatools
DuckDB
Development Roadmap
Overview The DuckDB project is governed by the non-profit DuckDB Foundation. The Foundation and DuckDB Labs are not funded by external investors (e.g., venture capital). Instead, the Foundation is funded by contributions from its members, while DuckDB Labs'…
👍7✍2
В качестве регулярных напоминаний, за долгое время я написал немало инструментов с открытым кодом для работы с данными. За что члены команды меня регулярно ругают потому что основная моя работа искать клиентов и профессионалов в команду, но слишком я люблю работать руками, поэтому разного рода инструментов создал много и часть поддерживаю.
- newsworker - библиотека для Python по автоматическому извлечению новостей из веб страниц. Анализирует структуру веб страницы, кластеризует блоки, идентифицирует элементы блоков, парсит даты и создаёт RSS ленту на основе. Написал это много лет назад и до сих пор использую, но уже не обновляю
- qddate - библиотека для Python для парсинга дат в условно любом формате, которые могут быть написаны на 8 языках, в разных стилях и тд. Особенность в том что работает она очень быстро, не использует регулярные выражения, а вместо этого внутри используется библиотека pyparsing. Плюс куча оптимизаций по тому как парсить даты максимально быстро. До сих пор использую, но код практически не обновлялся
- undatum - утилита командной строки для обработки данных в форматах CSV, JSON, NDJSON, Parquet, BSON и др. Изначально была цель сделать аналог xsv для NDJSON. В целом получилось и я ей пользуюсь до сих пор, но с недавних пор чаще использую DuckDB из-за значительно большей производительности. Возможно утилиту переделаю однажды.
- apibackuper - утилита командной строки для архивации API. Странно звучит, но да, утилита через API выгружает все данные последовательным перебором и сохраняет их в виде датасета JSON Lines/NDJSON. Активно используется внутри Dateno для сбора метаданных и в Ruarxive для архивации
- metacrafter - утилита и библиотека для идентификации семантических типов данных. Полезна для выявления смысловых полей в датасетах: адресов, названий компаний, кодов типа ИНН, ОГРН, КПП и тд., а также для идентификации персональных данных. Делал я её относительно недавно, умеет она работать и с файлами и с базами данных. Тоже используется в Dateno
- docx2csv - утилита извлечения таблиц из файлов docx. Очень простая и были планы перенести этот код в универсальный дата конвертер.
- pyiterable - библиотека для Python для потокового чтения дата файлов таких как BSON, JSON, NDJSON, Parquet, ORC, XLS, XLSX и XML в том числе сжатых Gzip, Bzip2, ZStandard и другими компрессорами. Используется внутри metacrafter и undatum.
—
По прошествии лет многие инструменты хочется переделать, а многие устаревают, но их написание часто сильно ускоряет работу с теми данными с которыми я работаю постоянно.
#opensource #data #datatools
- newsworker - библиотека для Python по автоматическому извлечению новостей из веб страниц. Анализирует структуру веб страницы, кластеризует блоки, идентифицирует элементы блоков, парсит даты и создаёт RSS ленту на основе. Написал это много лет назад и до сих пор использую, но уже не обновляю
- qddate - библиотека для Python для парсинга дат в условно любом формате, которые могут быть написаны на 8 языках, в разных стилях и тд. Особенность в том что работает она очень быстро, не использует регулярные выражения, а вместо этого внутри используется библиотека pyparsing. Плюс куча оптимизаций по тому как парсить даты максимально быстро. До сих пор использую, но код практически не обновлялся
- undatum - утилита командной строки для обработки данных в форматах CSV, JSON, NDJSON, Parquet, BSON и др. Изначально была цель сделать аналог xsv для NDJSON. В целом получилось и я ей пользуюсь до сих пор, но с недавних пор чаще использую DuckDB из-за значительно большей производительности. Возможно утилиту переделаю однажды.
- apibackuper - утилита командной строки для архивации API. Странно звучит, но да, утилита через API выгружает все данные последовательным перебором и сохраняет их в виде датасета JSON Lines/NDJSON. Активно используется внутри Dateno для сбора метаданных и в Ruarxive для архивации
- metacrafter - утилита и библиотека для идентификации семантических типов данных. Полезна для выявления смысловых полей в датасетах: адресов, названий компаний, кодов типа ИНН, ОГРН, КПП и тд., а также для идентификации персональных данных. Делал я её относительно недавно, умеет она работать и с файлами и с базами данных. Тоже используется в Dateno
- docx2csv - утилита извлечения таблиц из файлов docx. Очень простая и были планы перенести этот код в универсальный дата конвертер.
- pyiterable - библиотека для Python для потокового чтения дата файлов таких как BSON, JSON, NDJSON, Parquet, ORC, XLS, XLSX и XML в том числе сжатых Gzip, Bzip2, ZStandard и другими компрессорами. Используется внутри metacrafter и undatum.
—
По прошествии лет многие инструменты хочется переделать, а многие устаревают, но их написание часто сильно ускоряет работу с теми данными с которыми я работаю постоянно.
#opensource #data #datatools
GitHub
GitHub - ivbeg/newsworker: Advanced news feeds extractor and finder library. Helps to automatically extract news from websites…
Advanced news feeds extractor and finder library. Helps to automatically extract news from websites without RSS/ATOM feeds - ivbeg/newsworker
❤13🔥13👍11
Какое-то время я рассуждал о том как было бы хорошо если бы был инструмент для очистки и подготовки данных вроде OpenRefine, но более производительным движком внутри. Потому что OpenRefine хорошая штука, но с собственным движком на Java по работе с данными в памяти и всеми вытекающими из этого ограничениями на размеры датасетов. По личному опыту датасет в несколько гигабайт он уже тянет с трудом, на "стандартном настольном железе".
И вот вижу первый такой продукт, Coco Alemana [1] настольное приложение для очистки данных с DuckDB в качестве внутреннего движка. Обещают что работает с файлами до 50ГБ и нативную поддержку Parquet. Чем-то похоже на недавно появившийся DuckDB UI, но с акцентами на чистке и обработке данных.
Из дополнительных плюсов - быстрый поиск по данным и UI к базам данных.
Из минусов:
- работает только на Mac OS X, так что проверить лично смогут пока только маководы
- открытого кода нет, скорее это будет коммерческий продукт в будущем
Ссылки:
[1] https://www.cocoalemana.com
#duckdb #data #datatools #dataquality
И вот вижу первый такой продукт, Coco Alemana [1] настольное приложение для очистки данных с DuckDB в качестве внутреннего движка. Обещают что работает с файлами до 50ГБ и нативную поддержку Parquet. Чем-то похоже на недавно появившийся DuckDB UI, но с акцентами на чистке и обработке данных.
Из дополнительных плюсов - быстрый поиск по данным и UI к базам данных.
Из минусов:
- работает только на Mac OS X, так что проверить лично смогут пока только маководы
- открытого кода нет, скорее это будет коммерческий продукт в будущем
Ссылки:
[1] https://www.cocoalemana.com
#duckdb #data #datatools #dataquality
🤔4
Я вот всё расхваливаю DuckDB как очень быстрый движок для обработки данных, а он не один такой. Например, ещё есть FireDucks который делает команда из японского NEC и который они активно оптимизируют конкурируя с DuckDB и Polars и в который добавляют поддержку ускорения через GPU.
Плюс разработчики много полезного пишут в своём блоге о том как они работают над оптимизацией обработки запросов [1]
Но есть и существенный минус, его исходный код, похоже, не открыт. Мне не удалось его найти в их репозиториях, там есть только собранные пакеты для Python.
P.S. Картинка отсюда [2].
Ссылки:
[1] https://fireducks-dev.github.io/posts/
[2] https://www.linkedin.com/posts/avi-chawla_pandas-is-getting-outdated-and-an-alternative-activity-7312407582340485120-fH_K?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAA_-HABh4I2pH__YZElkrySwr_MWhdKIVs
#data #datatools #opensource
Плюс разработчики много полезного пишут в своём блоге о том как они работают над оптимизацией обработки запросов [1]
Но есть и существенный минус, его исходный код, похоже, не открыт. Мне не удалось его найти в их репозиториях, там есть только собранные пакеты для Python.
P.S. Картинка отсюда [2].
Ссылки:
[1] https://fireducks-dev.github.io/posts/
[2] https://www.linkedin.com/posts/avi-chawla_pandas-is-getting-outdated-and-an-alternative-activity-7312407582340485120-fH_K?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAA_-HABh4I2pH__YZElkrySwr_MWhdKIVs
#data #datatools #opensource
🔥8👍5
Сугубо техническое. К вопросу про автодокументирование и применение LLM. Я в качестве теста решил обновить инструмент undatum [1] переделав команду analyze для анализа структуры разных видов дата файлов: csv, jsonl, parquet и xml и добавив поддержку не таких машиночитаемых xls, xlsx и даже таблиц из docx файлов.
Но главное было автоматизировать документирование датасетов. Утилита теперь принимает опцию —autodoc при которой список колонок таблиц передаётся в AI Perplexity и полученные описания используются для генерации описания к полям. Соответственно, можно задавать разные языки и получать детальное описание колонки на нужном языке.
Это, конечно, не всё что нужно для автодокументирования датасетов, но некая существенная часть.
И да, в некоем преобразованном виде оно используется в Dateno [2] и есть ещё много других областей применения.
Пока код в основной ветке undatum и для работы надо также обновить библиотеку pyiterable [3] и пока нет отдельного релиза в виде пакета для Python, но потестировать уже можно.
Для работы надо ввести ключ для API Perplexity в переменную окружения PERPLEXITY_API_KEY и вызвать команду
undatum analyze —autodoc —language <язык> <название дата файла>
Дата файл может быть сжатым, например, somedata.csv.gz или somedata.jsonl.zst
Ссылки:
[1] https://github.com/datacoon/undatum
[2] https://dateno.io
[3] https://github.com/apicrafter/pyiterable
#opensource #datatools #data
Но главное было автоматизировать документирование датасетов. Утилита теперь принимает опцию —autodoc при которой список колонок таблиц передаётся в AI Perplexity и полученные описания используются для генерации описания к полям. Соответственно, можно задавать разные языки и получать детальное описание колонки на нужном языке.
Это, конечно, не всё что нужно для автодокументирования датасетов, но некая существенная часть.
И да, в некоем преобразованном виде оно используется в Dateno [2] и есть ещё много других областей применения.
Пока код в основной ветке undatum и для работы надо также обновить библиотеку pyiterable [3] и пока нет отдельного релиза в виде пакета для Python, но потестировать уже можно.
Для работы надо ввести ключ для API Perplexity в переменную окружения PERPLEXITY_API_KEY и вызвать команду
undatum analyze —autodoc —language <язык> <название дата файла>
Дата файл может быть сжатым, например, somedata.csv.gz или somedata.jsonl.zst
Ссылки:
[1] https://github.com/datacoon/undatum
[2] https://dateno.io
[3] https://github.com/apicrafter/pyiterable
#opensource #datatools #data
👍8🔥5❤1
Обнаружил ещё один инструмент по проверке данных 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
👍5😍1💯1
В рубрике как это устроено у них о том как управляют публикацией открытых данных во Франции. Частью французского национального портала открытых данных является 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
👍4🔥2
Полезные ссылки про данные, технологии и не только:
- 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.
✍6
По поводу каталогов данных на базы 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
🔥5🤗1