Ivan Begtin
7.98K subscribers
1.8K photos
3 videos
101 files
4.51K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and other gov related and tech stuff.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech
Download Telegram
Данные которые не скачать напрямую, но которые всё ещё открытые данные.

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

Те кто занимается задачами по data science к такому привычны давно, те кто использует другие инструменты могут находить это весьма необычным.

Вот несколько примеров:
- Tensorflow Catalog [1] каталог наборов данных к продукту Tensorflow, по каждому датасету есть информация о первоисточнике, объёму и способу подключения используя Tensorflow
- UC Irvine Machine Learning Repository [2] каталог датасетов для машинного обучения. Кроме ссылки на выгрузку, генерируется код для Python, а для каталога есть специальная открытая библиотека
- аналогично с каталогом датасетов Pytorch [3], сразу код для импорта и это логично ведь он часть библиотеки

Не говоря уже о Kaggle и HuggingFace, там такой режим доступа по умолчанию. Можно сказать что это code - first стратегия для работы с данными.

Один из интересных вопросов в том как индексировать такие датасеты. Помимо того что все такие каталоги написаны очень по своему, так ещё и получается что у них нет такого понятия как ресурсы, файлы или ссылки, в ситуации когда доступ только через API. Зато есть автогенерация кода, причём, в основном сразу в Python.

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

Но, конечно, вскоре и они будут добавлены

Ссылки:
[1] https://www.tensorflow.org/datasets/catalog/overview
[2] https://archive.ics.uci.edu/
[3] https://pytorch.org/vision/stable/datasets.html
[4] https://paperswithcode.com/dataset/cityscapes

#opendata #datasets #datacatalogs #ml #datascience #python
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
Продолжаю рассказывать понемногу про поисковик Dateno и про то как в нём индексируются датасеты. Его особенность в тех индикаторах которые используются внутри для наполнения базы данных. Иначе говоря как мы понимаем что надо проиндексировать? Какие данные добавить в первую очередь? По каким критериям их собирать ? Эти вопросы важные, потому что сейчас проиндексирована только половина реестра всех каталогов данных и это только по числу каталогов, а если считать в датасетах, то не около 10% от всех (точно оценить сложно, никто просто не знает).

Так вот эти критерии - это:
- число проиндексированных датасетов - самое простое и очевидное, не нужно объяснять почему
- число охваченных каталогов данных - тоже важный показатель того как хорошо индексирование идёт
- число охваченных стран (geographic coverage) - это уже сложнее, условно по каждой стране должны находится наборы данных. Отчасти легко решается за счёт международных каталогов статистики, но лишь отчасти и с большим искаженим только в эту статистику.
- степень диверсификации данных (data diversity) - самостоятельно выдуманный термин основная идея которого в том что данные в поиске должны быть разные: геоданные, научные данные, открытые данные, статистика, данные для ML, микроданные и тд. Понятно что каких-то данных больше, каких-то меньше, но всех должно быть значимое количество. Условно не меньше 50% проиндексированных каталогов по типам, не меньше 50 тысяч датасетов каждого типа

Плюс, конечно, важен вопрос качества данных, качества метаданных, "настоящность" данных (очень часто наборами данных обзывают то что ими не является) и ещё многое другое.

Поэтому поисковый индекс Dateno с самого начала собирался сложным путём, по приоритетам достижения этих индикаторов. И 10 миллионов охваченных датасетов - это самоограничение именно такого подхода, потому что очень, действительно, очень просто сделать поисковик на 30-50 миллионов датасетов из которых 50% будет исследовательскими данными в США, ещё 25% исследовательскими данными Китая, ещё 20% научными данными ЕС и только 5% что-то ещё. Моментально получится поисковик по научным данным с лёгким добавлением всего остального.

Но для науки есть свои поисковые системы, поэтому в Dateno хотя и важным приоритетом является индексирование как можно большего объёма всех наборов данных, но не в ущерб их качеству.

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

#opendata #dateno #datasets #crawling
Отвлекаясь немного от темы данных и технологий.

В Испании Верховный суд постановил временно заблокировать Телеграм после жалобы группы "копирастов" из ведущих медиа компаний: Mediaset, Atresmedia, Movistar и Egeda на то что в Телеграм'е пиратят и не удаляют спираченный у них контент [1].

Не менее важна причина решения суда, главный аргумент в "недостаточной кооперации" со стороны руководства Телеграма, непонятно ли кооперация с кем, с властями страны или с владельцами контента.

В любом случае, блокировкой Телеграма, Испания присоединилась к клубу стран состоящему из Кубы, Ирана, Пакистана и Таиланда.

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

Ссылки:
[1] https://www.euronews.com/next/2024/03/23/spains-high-court-orders-block-on-telegram-messaging-app-as-a-precautionary-measure

#privacy #piracy #telegram
Я регулярно пишу про такое явление как датацентричное мышление "что угодно как таблица" и в более узком звучании "что-угодно как 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
Поскольку существенная часть моей деятельности некоммерческая, то приличия не позволяют не клянчить на неё просить на неё поддержку с какой-то регулярностью.

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

В Армении на Open Data Armenia

На что мы собираем деньги?
1. На сбор и публикацию открытых данных (github.com/opendataam)
2. На организацию мероприятий таких как Open Data Day (odd.opendata.am)
3
. На конкурсы вроде конкурса Open Data Armenia Contest (contest.opendata.am)

Как помочь?

Самый простой способ это стать подписчиком Open Data Armenia на Github https://github.com/sponsors/opendataam/ Мы будем ещё много выкладывать открытого кода и наборов данных и подписка через Github - это самое логичное что только возможно.

Альтернативно можно перевести по банковским реквизитам:
номер счёта 163618011379 для пожертвований в Евро, назначение ""OPEN DATA" development centre public organization" Donation. Если хотите пожертвовать в другой валюте, то напишите мне, перешлю реквизиты.


В России
на Инфокультуру

В России деятельность сейчас очень сильно ограничена, но АНО Инфокультура всё ещё существует и всё ещё делает проекты по открытым данным и не только. В приоритеты работа по архивации данных, значимого контента и работа над Национальным цифровым архивом (ruarxive.org).

Как поддержать?

Самое простое - это пожертвовать через форму на сайте https://www.infoculture.ru/donation/, а если Вы представляете организацию то можно напрямую перевести на счёт, достаточно написать мне, я перешлю реквизиты.

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

#support #ngo #donation
Для тех кто ищет данные по РФ, маленький лайфхак, у портала data.gov.ru отключили вебморду, но все ссылки на файлы прямые остались. Это очень легко находится в гугле по запросу. Вот только уже не открывается в браузере потому что сертификат просрочен 25 марта. То есть, не только обновления сайта нет, но и даже анонс его превратился в тыкву.

А то есть чтобы не преследовали те кто решили его закрыть, сделали это тоже через одно место.

Тем временем напомню что остаётся общественный портал hubofdata.ru где можно находить и размещать свои датасеты. Мы только закрыли регистрацию из-за резкого наплыва спамеров, но если захотите опубликовать данные, то пишите, заведем аккаунт и со спамерами разберемся через какое-то время.

А из необычных данных, вот вам свежий датасет в виде базы всех отозванных сертификатов российских УЦ. Это 1.9 миллиона записей из более чем 500 CRL файлов. Может быть полезно тем кто изучает эту тему и причины отзывы сертификатов.

#opendata #datasets #data #russia
В продолжение размышлений о том как устроен доступ к данным во многих дата каталогах, кроме примера с доступом через API [1], есть много примеров когда каталоги данных интегрированы в платформы которые их предоставляют.

Например, Microsoft Planetary Computer [2], сервис визуализации и каталог особо крупных геоданных. Часть данных доступны только через API по спецификации STAC, часть данных лежат файлами в облаке Azure и ссылки на них выглядят как abfs://items/sentinel-3-synergy-vgp-l2-netcdf.parquet, а часть доступны только по запросу и тоже лежат файлами в разных форматах.

Кроме Microsoft подобное практикуют Amazon с их каталогом открытых данных [3] и ссылками на внутренние ресурсы S3 вроде таких arn:aws:s3:us-east-1:184438910517:accesspoint/bdsp-psg-access-point/PSG/

Похожее с датасетами в каталоге Google Earth [4] когда вместо данных отдаётся сниппет для подключения и код Javascript.

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

Всё это довольно сильно усложняет индексацию таких каталогов данных в Dateno поскольку для них, по хорошему, нужен другой подход и другая стратегия, как давать ссылки на такие ресурсы. Можно просто дать ссылку на карточку в оригинальном каталоге, но многие поисковые фасеты выпадают, ссылки на ресурсы не работают.

Эти примеры немногочисленны количественно и многочисленны качественно. Датасетов от BigTech компаний в лучшем случае тысячи, правда объёмы там идут на петабайты. А есть есть и другой пример. Очень многие порталы со статистикой отдают данные только по POST запросу. В этом, может быть, когда-то была логика, когда 10-15 лет назад они создавались, а сейчас у этих индикаторов нет ссылок на данные. Иногда и на сам индикатор явной ссылки нет. Что делать? Проиндексировать их возможно, но как помогать пользователю получать данные? Делать копию не только метаданных, но и данных и отдавать их из своей БД? Это уже другой продукт. Делать прокси для POST запросов? Для типовых порталов возможно, для нетиповых это большое усложнение.

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

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

Ссылки:
[1] https://t.me/begtin/5526
[2] https://planetarycomputer.microsoft.com
[3] https://registry.opendata.aws
[4] https://developers.google.com/earth-engine/datasets
[5] https://dateno.io

#opendata #datasets #data #datacatalogs #dateno
В рубрике как это устроено у них каталог научных данных 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
На фоне весьма вероятной блокировки Википедии в РФ в этом году не могу не напомнить что есть такой проект как Kiwix по оффлайновому доступу к Википедии и множеству других вики и онлайн ресурсов [1].

Его особенность в том что это open source продукт со множеством приложений под разные платформы [2], которые однозначно стоит скачать под свою, а также с библиотекой из 1006 книг [3], хотя правильнее сказать слепков веб ресурсов.

Kiwix работает на данных в формате ZIM [4] и кроме Kiwix есть много других читалок этого формата под любые платформы. А я не могу не напомнить что ещё есть такая утилита как warc2zim [5] позволяющая преобразовать WARC файлы создаваемые при архивации сайтов в файлы ZIM для оффлайн просмотра.

Ссылки:
[1] https://kiwix.org/en/
[2] https://kiwix.org/en/applications/
[3] https://library.kiwix.org
[4] https://wiki.openzim.org/wiki/ZIM_file_format
[5] https://github.com/openzim/warc2zim

#opendata #digitalpreservation #webarchives #wikipedia #zim #kiwix
В рубрике как это работает у них канадский официальный национальный геопортал Geo.ca [1]
включает 7659 геопространственных наборов данных в машиночитаемых форматах CSV, SHP, GeoJSON, Esri REST, KML. Все данные под канадской открытой лицензией [2]. Внутри базовых слоёв используется ESRI ArcGIS, компоненты платформы выложены открытым кодом [3].

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

А также в том что очень много общедоступных геоданных выложено на FTP сервере [4], но с минимальным описанием [5]

Всего же в Канаде огромное число общедоступных и открытых официальных баз и каталогов геоданных. Как я понимаю большая их часть постепенно будет переносится на Geo.ca

Ссылки:
[1] https://geo.ca
[2] http://open.canada.ca/en/open-government-licence-canada
[3] https://github.com/Canadian-Geospatial-Platform
[4] https://ftp.maps.canada.ca/pub/
[5] https://natural-resources.canada.ca/science-and-data/science-and-research/earth-sciences/geography/topographic-information/download-directory-documentation/17215

#opendata #canada #geodata #datacatalogs #data
В продолжении рубрики как это работает у них одним из крупнейших порталов данных в США можно считать каталог национальных архивов в котором, помимо документов, аудио и видео архивируются данные и карты (геоданные) [1] в объёме более чем 107 тысяч единиц. Это довольно много, в национальном каталоге данных США 292 тысячи наборов данных.

Национальные архивы США - это довольно уникальное явление, огромное по масштабу и несомненно интересное с точки зрения содержащихся там материалов, учитывая что существенная их часть оцифрована.

Ожидаемо многие данные являются историческими, например, там можно найти CSV файл с пассажирами [2] прибывшими в США с 1820 по 1902 годы из европейских стран.

Ссылки:
[1] https://catalog.archives.gov/search?availableOnline=true&typeOfMaterials=Data%20Files%2CMaps%20and%20Charts
[2] https://catalog.archives.gov/id/229630481

#opendata #datasets #digitalpreservation #datacatalogs #data #archives