Ivan Begtin
8.11K subscribers
1.45K photos
3 videos
98 files
4.18K links
I write about Open Data, Data Engineering, Government, Privacy and Data Preservation and other gov and tech stuff
Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech

Contact @NMBabina for ads proposals
Download Telegram
Симпатичный свежий инструмент с открытым кодом по визуализации данных Trelliscope [1]. Написан на R, распространяется под лицензией MIT, команда, также, ведёт разработку пакета на Python [2].

Даёт возможность создавать недорогие интерактивные дашборды в короткие сроки, поверх стандартных датафреймов. Причём в примерах есть создание дашборда поверх больших наборов данных вроде поездок такси Нью Йорка (64GB, 1.6 миллиарда строк) [3].

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

И, кстати, будь такая штука удобным образом внедрена в один из сервисов/продуктов тетрадок вроде Jupyter Notebook, то совсем цены бы ей не было.

Ссылки:
[1] https://trelliscope.org/
[2] https://github.com/trelliscope/
[3] https://trelliscope.org/trelliscope/articles/bigdata.html

#opensource #dataviz #data #datatools
Полезное чтение про данные, технологии и не только:
- Google News Is Boosting Garbage AI-Generated Articles [1] статья о том что Google News бустят новости не с оригинальных сайтов, а с тех что рерайтят оригинал с помощью ИИ. Статья под пэйволом, но, в общем, всё сказано в заголовке. Непонятно только что с этим делать.
- Paper on Sleeping Agents [2] о том как помещать бэкдоры в языковые модели которые бы могли проходить проверки безопасности. Отдельное новое направление для команд занимающихся инфобезом.
- It's time to build [3] свежая заметка от Benn Stancil о том что для того чтобы создавать дата-стартапы (инструментальные стартапы) не надо новых идей, надо старые идеи/продукты сделать современными.
Не могу с этим не согласится и примеры он приводит релевантные.
- Python Packaging, One Year Later: A Look Back at 2023 in Python Packaging [4] о том как устроены пакеты в Python, технический и прикладной обзор за 2023 год. Может показаться сугубо технической темой, но она актуальна для всех кто создаёт или распространяет пакеты для Python. От себя добавлю что пакеты для Python уже давно стали одним из отражений качества любого продукта или сервиса. Уже не просто API предоставляется, а сразу пакет для Python для доступа к API.
- SQLMesh [5] - open-source движок для преобразования данных близкий и сравнимый с dbt по идеологии и авторы которого продвигают концепцию Virtual Data Environment (VDE) [6]. Концепт как минимум интересный. Кстати, эти же ребята авторы python библиотеки SQLGlot [7], парсера и оптимизатора SQL запросов
- Omni [8] свежий стартап по BI, упомянутый недавно Benn Stancil, делают то же что и все просто проще и симпатичнее. У меня в списке продуктов на потестить визуализацию разным образом. Главное удобство - это комбинация SQL запросов и визуализации данных.
- DataHem odyssey - the evolution of a data platform, part 2 [9] подробный рассказ о эволюции аналитической платформы в Mathem со множеством подробностей про использование dbt и не только.

Ссылки:
[1] https://www.404media.co/google-news-is-boosting-garbage-ai-generated-articles/
[2] https://arxiv.org/pdf/2401.05566.pdf
[3] https://benn.substack.com/p/its-time-to-build
[4] https://chriswarrick.com/blog/2024/01/15/python-packaging-one-year-later/
[5] https://sqlmesh.com
[6] https://tobikodata.com/virtual-data-environments.html
[7] https://github.com/tobymao/sqlglot
[8] https://omni.co
[9] https://robertsahlin.substack.com/p/datahem-odyssey-the-evolution-of-95f

#readings #data #datatools #opensource #dataengineering #ai
Свежая картинка по продуктам с открытым кодом в области дата инженерии.

Подробнее о ней в блоге её автора на Substack [1].

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

Вот в этой картинке, например, нет SODA для data quality, в платформе метаданных зачем-то CKAN, хотя он про другое.

Я, кстати, несколько по другому систематизирую инструменты с открытым кодом. Когда-то просто стал делать закладки в Github по категориям [2] и там много их, больше 30 списков.

А заодно для тех кто интересуется разного рода экзотическим открытым кодом. Markdowndb [3] наглядная реализация принципов "всё таблица" и "всё SQL". Это фреймворк превращающий документы с разметкой Markdown в SQL базу данных к которой можно делать запросы к содержимому этих файлов с фильтрацией по тэгам, файлам и тд. Внутри используют Sqlite, в гайдах рассказывают как заменить статические файлы на эту базу в статических сайтах.

Ссылки:
[1] https://practicaldataengineering.substack.com/p/open-source-data-engineering-landscape
[2] https://github.com/ivbeg?tab=stars
[3] https://markdowndb.com

#opensource #data #dataengineering #datatools
Интересные open source проекты про данные и не только:
- pipelined query language [1] - Спецификация и реализация компилятора из языка PQL в диалекты SDQL. Идеологически вдохновлён Kusto Query Language [2] от Microsoft, выглядит любопытно, особенно если проект проживёт долго и будет применяться.
- FileQL [3] - очередная реализация принципа "всё SQL", обёртка для SQL запросов в отношении операций с файловой системой.
- Magika [4] - программный модуль для Python и утилита по определению типа файла на основе модели обученной с помощью ML. Обещают лучшую точность и всё такое. Фактически замена программы magic для аналогичных целей в Unix/Linux.
- Gatus [5] продвинутый монитор доступности и статуса серверов/сервисов, ориентирован на разработчиков, управляется через YAML файлы конфигурации
- SSH3 [6] эволюция протокола SSH2 для дистанционного подключения к терминалам на удалённых серверах. Обещают большую производительность и большую безопасность. Может быть полезно для проксирования трафика тем кому это нужно.

Ссылки:
[1] https://github.com/runreveal/pql
[2] https://learn.microsoft.com/en-us/azure/data-explorer/kusto/query/
[3] https://github.com/AmrDeveloper/FileQL
[4] https://github.com/google/magika
[5] https://github.com/google/magika
[6] https://github.com/francoismichel/ssh3

#opensource #datatools
К вопросу о современных дата продуктах, один из способов работы с данными сейчас - это комбинация DuckDB и Polars. Например, DuckDB так стремительно набирает популярность что я не удивлюсь что скоро данные начнут распространять и публиковать как базы DuckDB, примерно как много лет назад публиковали DBF файлы и файлы MS Access [1] и также как иногда сейчас публикуют sqlite файлы [2].

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


P.S. Картинка из блога Christophe Blefari

Ссылки:
[1] https://catalog.data.gov/dataset/municipal-fiscal-indicators-2014-2018-ms-access-database
[2] https://catalog.data.gov/dataset/x-ray-properties-database-in-sqlite-format

#opensource #datatools
Те кто видел мою презентацию про Dateno могли обратить внимание что я упоминал там про семантические типы данных, о которых неоднократно тут писал и о которых всегда полезно напомнить.

Семантические типы данных - это характеристики колонок в таблицах/полей в JSON и тд. которые определяют их смысловое наполнение. То есть если тип поля: строка, число и тд. определяют способ хранения и тип данных, то семантический тип определяет смысл. Например, строка может быть идентификатором организации или UUID, или датой или кодом продукта. Для всего это я когда-то написал утилиту metacrafter [1] и библиотеку для Python, которая умеет сканировать файл или таблицу в СУБД и выдавать отчёт по семантическим типам привязывая их к единому реестру. Реестр довольно обширный [2] по самым разным направлениям, а сама утилита включает набор простых правил описываемых в YAML нотации.

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

Собственно не секрет что основным источником выявления правил были порталы открытых данных UK, USA, России, Франции и многих других стран.

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

Если, кстати, вы обогащаете внутренние каталоги данных дополнительными метаданными, то metacrafter может оказаться очень полезной штукой. Она создавалась изначально для этого и может помочь найти персональные данные в самых неожиданных местах.

Ссылки:
[1] https://github.com/apicrafter/metacrafter
[2] https://registry.apicrafter.io/

#opendata #opensource #data #datatools
Казалось бы небольшая, но весьма интересная новость о том что проект chDB присоединяется к Clickhouse [1].

chDB [2] - это внедряемая OLAP база на движке Clickhouse, фактически прямой конкурент DuckDb и, как и DuckDb, замена Sqlite.

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

И вот chDB это такое же как DuckDb по логике, но движок Clickhouse может быть поинтереснее. В треде на ycombinator [3] есть интересные ссылки на эту тему, например, сравнение clickhouse-local и DuckDb [4] и clickhouse-local там был особенно крут на больших объёмах данных. Можно предположить что автор chDb переходит в clickhouse прокачать chDB также как сейчас прокачано DuckDb.

В общем и целом новость оптимистичная, больше embedded баз данных разных и полезных.

Ссылки:
[1] https://auxten.com/chdb-is-joining-clickhouse/
[2] https://www.chdb.io/
[3] https://news.ycombinator.com/item?id=37985005
[4] https://www.vantage.sh/blog/clickhouse-local-vs-duckdb

#data #opensource #databases #datatools
К вопросу о том почему я лично пишу про Polars, DuckDb, а теперь ещё и присматриваюсь к chDb, потому что в моей работе есть частые задачи с очисткой и обработкой данных. В принципе, чем бы я в жизни не занимался, читал лекции, делал презентации, программировал и тд., всегда есть задача чистки данных.

Есть много способов чистить данные с помощью кода, есть хороший инструмент OpenRefine [1] известный многим кто с открытыми данными работает. Но, честно скажу, в плане скорости, но не удобства, к примеру, DuckDB бьёт все рекорды. Главный недостаток - отсутствие удобного UI аналогичного OpenRefine или то что в OpenRefine нельзя, к примеру, заменить его движок на DuckDb.

В остальном это реально очень быстро. И работать с локально с многогигабайтными датасетами и в миллионы и десятки миллионов записей - вполне реально. Для сравнения, OpenRefine у меня едва-едва тянет базу в 100 тысяч записей в 680 MB.

Использовать это можно много где. К примеру, датасет от мусорных записей, найти и удалить персональные данные, обогатить дополнительными данными на основе текущий значений столбцов, исправить ошибки в данных и многое другое.

В общем-то на базе DuckDB и, скорее всего, chDb можно построить полноценную дата-студию по приведению данных в порядок перед загрузкой в хранилище. Опять же, если иметь полноценный веб интерфейс поверх.

Такие инструменты хорошо встраиваются как ядро более прикладных дата-продуктов.

Ссылки:
[1] https://openrefine.org

#data #datatools #thoughts #duckdb #openrefine
Полезные ссылки про данные, технологии и не только:
- Про автоматизированное видеонаблюдение на олимпиаде в Париже [1]. Под пэйволом, но в общем-то и так понятно что использует положение об экспериментах в законе об Олимпийских играх во Франции [2]
- Devin, the first AI software engineer [3] AI помощник для программистов от Cognition. Ключевая фишка - он лучше умеет самостоятельно решать Github Issues, успешно около 13.86%. Не учитесь дети на программистов, скоро они останутся без работы! Шутка, а не шутка то что джуниорам придётся нелегко.
- Grok от X.AI (Элон Маск) в открытом коде [4] пока оставлю без комментариев, пусть его потестят и расскажут те кто тестят GPT-подобные модели на регулярной основе
- Croissant: a metadata format for ML-ready datasets [5] стандарт метаданных для ML датасетов. Теперь поддерживается основными платформами Kaggle, HuggingFace и OpenML. Google обещают поддерживать его в Google Dataset Search. Подробнее в спецификации тут [6]


Ссылки:
[1] https://www.lemonde.fr/en/pixels/article/2024/03/03/paris-olympics-2024-testing-on-algorithmic-video-surveillance-of-the-games-begins_6580505_13.html
[2] https://www.lemonde.fr/en/sports/article/2023/04/13/paris-2024-french-parliament-approves-the-olympic-bill-and-its-video-surveillance-flagship-project_6022755_9.html
[3] https://twitter.com/cognition_labs/status/1767548763134964000
[4] https://github.com/xai-org/grok-1
[5] https://blog.research.google/2024/03/croissant-metadata-format-for-ml-ready.html
[6] https://mlcommons.org/working-groups/data/croissant/

#data #datatools #privacy #ml #opendata #ai
One Trillion Row Challenge - совершенно замечательный по задумке конкурс по работе с датасетом в триллион строк [1] для тех кто работает большими, очень большими и очень-очень большими (шутка) данными на обычном железе или во временно арендуемом облаке, а не на мейнфреймах. Конкурс в том чтобы подсчитать минимальную, среднюю и максимальную температуру по погодным станциям отсортированным по алфавиту. Данные хранятся в 100 тысячах Parquet файлах, по 10 миллионов строк в каждом, а заявки отправляются через открытие issue в репозитории конкурса [2].

Сам конкурс - это продолжение другого конкурса, One Billion Row Challenge [3], где данных было только 1 миллиард, и принимались решения только в виде Java кода.

Решения можно отправлять в дискуссиях на Github в репозитории [4].

Конкурс интересный тем что по многим продуктам не-неожиданно, но подтверждённо очень высокая производительность. Например, в Clickhouse SQL задача с 1 миллиардом строк решается за менее чем 7.5 секунд [5] и у них же 3 минуты на конкурс в 1 триллион строк [6] и пишут что за $0.56, это совсем мало если что.

А в оригинальном посте Dask в облаке Coiled отрабатывает за 8.5 минут или $3.26 в стоимости Amazon Cloud, что тоже очень мало.

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

Ссылки:
[1] https://docs.coiled.io/blog/1trc.html
[2] https://github.com/coiled/1trc
[3] https://www.morling.dev/blog/one-billion-row-challenge/
[4] https://github.com/gunnarmorling/1brc/discussions
[5] https://github.com/gunnarmorling/1brc/discussions/80
[6] https://clickhouse.com/blog/clickhouse-1-trillion-row-challenge

#data #datasets #opensource #datatools
Я регулярно пишу про такое явление как датацентричное мышление "что угодно как таблица" и в более узком звучании "что-угодно как SQL". Причём последнее попадается всё чаще и всё чаще всё то ранее было доступно каким-то другим образом через API или в иной специфической форме доступно как таблицы.

Из последнего, sqlelf, это программная библиотека и утилита превращающая метаданные из исполняемых Linux файлов в базу Sqlite и позволяют проделывать все дальнейшие операции по чтению этих метаданных из SQL таблиц. Удобно для всех кто занимается форенсикой под Unix-like системы.

Из похожего, несколько лет назад я делал утилиту metawarc, индексирует содержание веб-архивов в формате WARC и создаёт локальную Sqlite базу с результатами. Что позволяет сильно ускорить задачи по подсчёту статистики, экспорту файлов из архива (архивы бывают большие и это важна задача) и многое другое. Единственное что я не сделал - это там нет SQL интерфейса, хотя добавить такую команду и примеры это дело пары часов.

Похожий код у меня есть для HTML страниц, он превращает дерево HTML в плоскую таблицу с дополнительным обсчётом ряда параметров. Я его всё подумывал опубликовать и возможно что база в памяти это решение. Возможно, потому сколько я не пытался не удаётся сильно уменьшить размеры таблицы тэгов. Она выходит больше оригинального файла от 7 до 21 раза, это без использования СУБД внутри, только размер pandas Dataframe.

Возвращаясь к "что угодно как SQL", я в феврале прошлого года приводил много примеров такого подхода, когда SQL синтаксис и интерфейс создаются для работы с текстовыми файлами, репозиториями Git, базой контейнеров для Docker и тд.

Чем дольше я об этом думаю, тем более чувствую что такой подход может иметь существенный потенциал для технологических продуктов. Например, если бы сервисы счётчиков посещаемости и иной пользовательской аналитики предоставляли бы не REST API, а сразу доступ к SQL таблицам с твоими данными то это резко упростило бы их интеграцию и использование. Такие внешние сервисы, кстати, есть, но суть в том что SQL интерфейсы доступа не являются сейчас стандартизированными продуктами.

Аналогично для многих других сервисов и продуктов которые сейчас интегрируются через ETL и ELT костыли.

А сама идея "что-угодно как SQL" может развиваться ещё применительно много к чему. К файловой системе, к реестру Windows, к работе с Excel/ODS файлами, к работе с онлайн таблицами (типа Google Sheets), к вебсайтам и ещё много к чему.

#thoughts #data #datatools #sql #everythingisdata
В рубрике как это устроено у них каталог научных данных SPARC [1] посвящённый исследованиям тела и мозга. Является результатом совместного проекта нескольких исследовательских центров в США.

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

Отличается тем что данные, в основном, большого объёма и файлы до 5GB можно скачать бесплатно, а файлы большего размера только через Amazon AWS или через сервис Osparc [2] по запросу.

На портале есть уникальная фича, визуализация датасетов [3] с помощью утилиты SDS Viewer, вот, пример [4]

Ссылки:
[1] https://sparc.science
[2] https://osparc.io/
[3] https://metacell.github.io/sds-viewer/
[4] https://metacell.github.io/sds-viewer/?doi=10.26275%2Fodx3-c5cv

#opendata #datacatalogs #datatools #data #brain #body #datasets
Ещё один, нестандартный, каталог данных - это общедоступные инсталляции Superset [1]. Для тех кто не сталкивался ранее, Superset - это BI платформа с открытым кодом и с функциональностью каталога датасетов который там представлен в упрощённом виде, адаптированном под то что на основе данных строятся разного рода графики включаемые в дашборды.

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

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

Можно ли индексировать такие источники данных в поисковый индекс или это, всё же, ближе к инфобезу и утечкам данных?;)

Ссылки:
[1] https://superset.apache.org

#opendata #datasets #data #datatools #superset #bi #datacatalogs
Регулярная подборка ссылок про данные, технологии и не только:
- Vector DB Comparison [1] большой обзор в виде таблицы со сравнением векторных баз данных. Список подробный, со ссылками на документацию и представленностью практических всех продуктов с открытым кодом.
- Pretzel Notebook [2] тетрадки для работы с данными с DuckDB внутри и языком PRQL
- Common Corpus [3] авторы утверждают что это крупнейший датасет public domain текстов на разных языках
- DuckDB snippets [4] подборка сниппетов для DuckDB по использованию в командной строке. Замена многих инструментов в том числе самописных
- Binjr [5] браузер для временных рядов, с инсталляцией локально под Windows, Linux или Mac. В демках про мониторинг серверов, но может и для чего-то ещё сгодится?

Ссылки:
[1] https://superlinked.com/vector-db-comparison/
[2] https://github.com/pretzelai/pretzelai
[3] https://huggingface.co/collections/PleIAs/common-corpus-65d46e3ea3980fdcd66a5613
[4] https://duckdbsnippets.com/page/1/most-popular
[5] https://binjr.eu/

#opensource #datatools #data
Отличная тема в блоге DuckDB про 42.parquet или о том как запихнуть в Parquet файл 4 петабайта данных [1]. Для тех кто не вспомнил контекст, несколько лет назад по интернету ходил файл zip bomb, с названием 42.zip и размером в 42 килобайта. Внутри него, 5 вложенными слоями было по 16 пустых файлов в 4.3 ГБ. В общей сложности 4.3 петабайта. А это штука способная сильно испортить жизнь тем кто использует наивные антивирусы и другие сервисы распаковки архивов. Про него есть статья в Википедии по ссылками [2] для тех кто хочет изучить тему. Я специально про это не писал до 1 апреля во избежание обострения юмора у весёлых ребят;)

Как ни странно, Virustotal показывает [3] что запароленный zip bomb определяет только Fortinet, остальные сервисы и продукты его игнорируют. Может быть они незапароленные zip bomb ловят? Но пока не хочется проверять такое;)

А теперь то же самое для Parquet, 42.parquet от DuckDB. Может быть довольно жестокой шуткой над каким-то дата сайентистом, а может быть просто примером для тренировки навыков.

Я пока не знаю случаев когда сайты/информационные системы взламывали бы parquet файлами. Но может быть всё впереди? Например, начнут антивирусы и другие инфобезные продукты отслеживать утечки персональных данных из компаний и начнут сканировать parquet файлы, а тут им подсунут 42.parquet.

Похоже на реальный сценарий ;)

Ссылки:
[1] https://duckdb.org/2024/03/26/42-parquet-a-zip-bomb-for-the-big-data-age.html?
[2] https://en.wikipedia.org/wiki/Zip_bomb
[3] https://www.virustotal.com/gui/file/bbd05de19aa2af1455c0494639215898a15286d9b05073b6c4817fe24b2c36fa

#data #datatools #dataspecs #parquet #readings
Redis, хорошо известный продукт для большинства разработчиков использующих NoSQL, меняет лицензию на SSPL и перестаёт быть проектом со свободным исходным кодом [1]. SSPL запрещает использование продукта облачными провайдерами, без раскрытия полного кода всего кода облака (интерфейса, бэкэнда, дизайна и тд).

Тем временем Linux Foundation создали Valkey [2], открытый код Redis'а. А другие команды переходят на KeyDB и другие альтернативы.

Ссылки:
[1] https://arstechnica.com/information-technology/2024/04/redis-license-change-and-forking-are-a-mess-that-everybody-can-feel-bad-about/
[2] https://www.linuxfoundation.org/press/linux-foundation-launches-open-source-valkey-community

#opensource #data #datatools
К вопросу о том почему я так часто писал в последнее время про форматы данных вроде Parquet которые из data science постепенно перебираются в другие дисциплины работы с данными. Вот наглядный пример, у меня на руках датасет который в несжатом виде занимает 195GB, а в сжатом .tar.gz около 22GB. Его владелец распространяет его именно в сжатой форме, но понятно что для работы с ним его приходится распаковывать, особенно учитывая что tar.gz не тот формат с которым удобно работать без полного его разжатия. Внутри датасета сплошные .jsonl файлы, удобный при любой работе с NOSQL, но не для хранения.

При этом, если пересжать все данные в архиве в формат parquet, то они сожмутся до 8-12GB, и с ними можно будет продолжить работу. Загрузить в СУБД из parquet в общем-то не проблема.

В целом получается настолько большой выигрыш что игнорировать такие инструменты просто нельзя.

И сюда же, кстати, про мои давние размышления про поиск замены OpenRefine. Самым интересным продуктом было бы если бы внутренний движок OpenRefine можно было бы заменить на DuckDB. Тогда можно было бы на стандартном десктопном железе работать по очистке датасетов условно почти любого размера.

#data #datatools #parquet #duckdb
Подборка ссылок и моих наблюдений про то как публикуют данные в мире:

1. Китайский национальный центр по биоинформатике собирает базы общим размером более 51 петабайта [1] большая часть которых доступна для скачивания онлайн через их FTP сервер, посмотреть можно через веб интерфейс их FTP сервера [2]

2. THREDDS Data Server [3] софт с открытым кодом для публикации научных данных. Изначально создан для работы с метеорологическими данными и, в основном, так и применяется. Несколько десятков инсталляций по всему миру, хотя сам продукт очень консервативный и заточенный под конкретную область. Можно посмотреть пример такого каталога [4]

3. Github - это крупнейший каталог данных, но плохо структурированный. Опубликовать данные там просто, найти данные там сложно потому что будучи репозиторием кода датасеты там не структурированы в отдельную категорию. Можно искать их через правильные поисковые запросы, например, находя спецификации Frictionless Data которые в файлах datapackage.json [5]

4. Datamed [6] поисковик по биомедицинским датасетам, пишут что их там миллионы, по факту 1.2 миллиона из 49 репозиториев. Из них 80% датасетов из всего 4-х репозиториев имеющих более продвинутые формы поиска. Идея хорошая, реализация, на мой взгляд, не очень, недостаточно нового качества создаётся. Ну и индексируют они похоже отдельными парсерами под каждый источник и у них всё та же запутанность о том что считать датасетами.

5. Уже несколько раз сталкиваюсь с тем что, казалось бы, у типового ПО для публикации данных нет API. Нечасто но такое бывает и выясняется что это не нет API, а подход возврата разного содержания от передачи заголовка Accept: application/json в HTTP запросе. То есть, де-факто, API есть, но GET запрос не вернет JSON или другой машиночитаемый ответ. Любопытно насколько это распространено в публикации чего-то ещё, есть подозрение что это не такое редкое явление и не только про каталоги данных.

Ссылки:
[1] https://www.cncb.ac.cn/
[2] https://download.cncb.ac.cn/
[3] https://github.com/Unidata/tds
[4] https://thredds.rda.ucar.edu/thredds/catalog/catalog.html
[5] https://github.com/search?q=path%3A**%2Fdatapackage.json&type=code&ref=advsearch
[6] https://datamed.org/

#opendata #data #datasets #datatools #datacatalogs #datasearch
Подборка полезных ссылок про данные, технологии и не только:
- drawdb [1] визуальное проектирование баз данных и SQL генератор на базе draw.io. Открытый код на JS, лицензия MIT. Выглядит очень даже неплохо
- quickwit [2] альтернатива Datadog и подобным сервисам, но с открытым кодом. Реализует поисковую систему для наблюдаемости процессов. Лицензия AGPL или коммерческая, для бизнеса. Выглядит как минимум интересно, очередной пример YAML программирования, огромного числа файлов для настройки.
- paradedb [3] альтернатива Elasticsearch на базе Postgres, обещают что внутри файлы parquet и многократно выше скорость аналитических запросов. Обещают облачный сервис, пока доступен open source продукт. Лицензия AGPL для всех и коммерческая для бизнеса.
- traefik [4] реверсный прокси для HTTP для развертывания микросервисов и API, похож на альтернативу Kong и Tyk. Открытый код под MIT лицензией

Ссылки:
[1] https://github.com/drawdb-io/drawdb
[2] https://github.com/quickwit-oss/quickwit
[3] https://github.com/paradedb/paradedb
[4] https://github.com/traefik/traefik

#opensource #data #datatools #api #dataviz
Регулярная подборка ссылок про данные, технологи и не только:
- Desbordante [1] инструмент идентификации паттернов в данных. Обещают что может находить хависимости между колонками таблиц, на входе получает csv, на выходе список зависимостей. Команда разработчиков из СПбГУ, на английском и на русском языках есть пояснения как инструмент работает [2]. Лицензия AGPL, что слегка ограничивает использование, но сам продукт выглядит интересно для тех кто занимается exploratory analysis, data discovery и иными дисциплинами о том какие данные бывают и как они устроены. Я так понимаю что команда разработки имела/имеет какое-то отношение к компании Unidata, судя по тому что от неё был текст на русском на хабр
- Cloudzip [4] утилита на языке Go по дистанционному листанию и выгрузке отдельных файлов из больших ZIP архивов без скачивания ZIP архива целиком. Не первый вижу инструмент в этой области и но он безусловно выглядит практично, когда тебе надо скачать индивидуальный файл из многодесяткогигабайтного архива. Практического применения у такого инструмента много, а автор его Oz Katz, один из создателей lakeFS. Написано на языке Go. Лицензия Apache 2.0
- remotezip [5] в продолжение к предыдущему инструменту, то же самое но в виде библиотеки для Python. Да, идея давняя давно витающая и реализуемая.
- klib [6] набор функций в виде библиотеки для Python по очистке данных внутри датафреймов Pandas. Выполняет набор простых операций, в каком-то смысле заменяет OpenRefine. Для тех кто чистит данные в Jupyter Notebook'ах будет полезно.
- ydata-profiling [7] ещё один инструмент из области Exploratory Data Analysis, тоже интегрированный с датафреймами. У этой же команды есть коммерческий продукт каталога данных (только облачный увы) в котором явно profiling применяется.

Ссылки:
[1] https://github.com/Desbordante/desbordante-core
[2] https://medium.com/@chernishev/desbordante-2-0-0-released-8c174aa04e87
[3] https://habr.com/ru/companies/unidata/articles/667636/
[4] https://github.com/ozkatz/cloudzip
[5] https://github.com/gtsystem/python-remotezip
[6] https://github.com/akanz1/klib
[7] https://github.com/ydataai/ydata-profiling

#opensource #data #datatools