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

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts [email protected]
Download Telegram
SQL Has Problems. We Can Fix Them: Pipe Syntax In SQL [1] научная статья от исследователей Google про GoogleSQL. Особенность в том что это не альтернативный новый язык, а именно специальный диалект для удобного написания конвейеров и так называемого pipe syntax для SQL.

GoogleSQL уже реализован во многих их продуктах вроде BigQuery, F1 и ZetaSQL [2]

Ссылки:
[1] https://research.google/pubs/sql-has-problems-we-can-fix-them-pipe-syntax-in-sql/
[2] https://github.com/google/zetasql

#google #sql #datatools #data
Еврокомиссия 24 сентября запустила Public Procurement Data Space (PPDS) [1] инициативу по интеграции данных о государственных закупках в странах Евросоюза. Инициатива эта является продолжением и развитием Европейской стратегии данных (European strategy for data) [2] от 2020 года где тематика доступности данных о закупках была явно обозначена.

Из любопытного:
1. В основе технологий PPDS лежит онтология eProcurement Ontology (ePO) [3] и технологии Knowledge Graphs с реализацией аналитической базы данных с интерфейсом SPARQL
2. У проекта есть открытые репозитории, в основном с проверка
ми качества данных и индикаторами [4]
3. А также они в открытый доступ отдают дашборды с оценками качества данных [5], реализованы дашборды на Superset

Собственно чего в PPDS пока нехватает - это самих данных, систематизированных и пригодных для автоматической загрузки и обработки.

Ссылки:
[1] https://www.public-procurement-data-space.europa.eu/en
[2] https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A52020DC0066
[3] https://docs.ted.europa.eu/EPO/latest/index.html
[4] https://eproc.pages.code.europa.eu/ppds/pages/
[5] https://www.public-procurement-data-space.europa.eu/en/dashboards

#opendata #europe #procurement #data #datasets
В рубрике как это устроено у них текст How to build a National Data Library [1] в блоге Open Data Institute о создании Национальной библиотеки данных в Великобритании.

Национальная библиотека данных - это инициатива по созданию и предоставлению особо ценных данных исследователям и стартапам и с акцентом на их применение в задачах создания и развития AI. Open Data Institute ещё месяц назад публиковали первоначальное видение этой инициативы [2].

Кроме того National Data Library упомянута в манифесте Лейбористов [3], нынешней правящей партии как часть их экономической программы.

Сама инициатива более напоминает современную реализацию исследовательского портала данных для ИИ, по модели аналогичного корейского проекта и похожих проектов в ряде других стран. А упоминание библиотеки это, на самом деле, отсылка к Британской библиотеке, так сказать "British Library for Data".

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

В Великобритании есть как минимум две похожие инициативы. Первая - это UK Biobank с данными по здравоохранению и вторая UK Data Archive с данными по экономике и социальным наукам.

Ссылки:
[1] https://theodi.org/news-and-events/blog/how-to-build-a-national-data-library/
[2] https://theodi.org/news-and-events/consultation-responses/the-odis-input-to-the-ai-action-plan-an-ai-ready-national-data-library/
[3] https://labour.org.uk/change/kickstart-economic-growth/

#opendata #data #uk #datapolicy #datastrategy
Data Pond (Пруд данных) - это как data lake, но поменьше. На последнем DuckCon интересное выступление спикера из Fivetran о том как они делали озеро данных на DuckDB [1] и в блоге проекта dlthub рассуждения его основателя про portable data lake [2], а по сути это и есть data pond о чём автор и пишет. Если не обращать внимание на желание делать его именно на dlthub, в остальном такие задачи потребности реально есть.

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

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

Ссылки:
[1] https://www.youtube.com/watch?v=I1JPB36FBOo
[2] https://dlthub.com/blog/portable-data-lake

#datatools #data #opensource
Для тех кто давно не слышал новостей про наш стартап-проект Dateno.io, поисковой системы по данным, вот самая свежая новость - мы создали личный кабинет и доступ к поисковому индексу через API. Поисковый индекс тоже растёт и составляет уже 19 миллионов наборов данных и это не предел, цель была до конца года достичь хотя бы 20 миллионов, но реально будет больше, скорее всего.

В любом случае API Dateno можно уже пользоваться, интегрировать с собственными разработками, строить поисковики, например, по странам и ещё многое другое.

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

#opendata #datasearch #data #dateno
Подборка полезных open source инструментов для работы с данными и не только:
- JameSQL [1] внедряемая NoSQL СУБД похожая на MongoDB. Несколько лет назад я бы сказал, "о как хорошо", а сейчас слишком много альтернатив в виде NewSQL продуктов, вроде DuckDB и аналогов. NoSQL базы уже не единственные инструменты работы с JSON'ами
- pyloid [2] библиотека для написания бэкэндов для настольных браузерных приложений/продуктов типа Electron. Для тех кто хочет писать настольные приложения на связке JS + Python
- tabled [3] библиотека и командная строка для извлечения таблиц из PDF. Лично я ещё не пробовал, а надо попробовать на неанглийском языке. Много есть PDF документов на разных языках на которых хотелось бы такое опробовать.
- nixiesearch [4] движок для организации поиска, работает поверх Apache Lucene. Выглядит неплохо, надо потестить на реально больших данных которые у нас есть. К вопросу о декларативном программировании, тут оно тоже есть, все настройки в YAML файле:)
- Vortex [5] колоночный формат файла и набор инструментов альтернативных Parquet и Apache Arrow. Выглядит интересно, но нужны сравнения. Кто сделает сравнение?
- Stricli [6] для тех кто любит командную строку и Javascript удобный фреймворк для первого на втором.

Ссылки:
[1] https://github.com/capjamesg/jamesql
[2] https://github.com/pyloid/pyloid
[3] https://github.com/VikParuchuri/tabled
[4] https://github.com/nixiesearch/nixiesearch
[5] https://github.com/spiraldb/vortex
[6] https://bloomberg.github.io/stricli/

#opensource #data #datatools #csv #pdf #search
Свежая AI модель предсказания погоды от NASA и IBM [1] причём модель обучена была на множестве GPU, а запустить её можно на настольном компьютере.

Причём модель эта была построена на базе датасета MERRA-2 [2] с более чем 40 годами наблюдения за Землёй

Ссылки:
[1] https://research.ibm.com/blog/foundation-model-weather-climate
[2] https://gmao.gsfc.nasa.gov/reanalysis/MERRA-2/

#opendata #datasets #data #climate #ai
Как обещал пишу о том как работать с API Dateno, пока на уровне совсем азов, а далее будут примеры на Python и других языках. Может быть даже SDK, телеграм бот и не только.

1. Идём на Dateno.io, нажимаем на Sign In и регистрируемся на сайте my.dateno.io, там же получаем ключ
2. Открывает документацию на API по адресу api.dateno.io и смотрим как устроены запросы
3. Берём командную строку или UI инструмент или Python и делаем запрос к эндпоинту. Например такой запрос: https://api.dateno.io/index/0.1/query?apikey=my_personal_key&q=Nuclear&filters="source.countries.name"="Kazakhstan" где my_personal_key ключ из личного кабинета.
4. Получаем ответом JSON с результатами поиска по ключевому слову "Nuclear" и по стране Казахстан (Kazakhstan). В ответе ссылки на статистику связанную с ядерной энергетикой страны
5. Параметр filters можно передавать много раз и задавать не только страну, но и тип ПО (source.software.name), тип каталога данных source.catalog_type или тип владельца каталога данных "source.owner_type".
6. Фильтры - это фасеты. При запросе они возвращаются в атрибуте facetDistribution. Можно сделать вначале запрос без фасетов, получить найденные значения и далее фильтровать. Если будет запрос от пользователей, то мы опубликуем, в дополнение к API, полные значения фасетов.
7. В результатах поиска есть ссылка на первоисточник, но нет ссылок на ресурсы которые файлы или API. Чтобы из получить надо сделать запрос к точке подключения https://api.dateno.io/search/0.1/entry/{entry_id}?apikey=my_personal_key где entry_id - это идентификатор записи из результатов поиска. Ресурсов может не быть, иногда, может быть только один как в случае на картинке, а может быть много, десятки. Поэтому к ним запросы индивидуально.

API - это уникальная фича Dateno, открытого API нет у Google Dataset Search и большинства поисковиков по данным. Оно есть только у некоторых поисковиков по научным данным/ресурсам, но они сильно меньше по размеру чем индекс Dateno.

Пишите мне если про API будут вопросы, они почти наверняка появятся.

#opendata #api #dateno #datasearch #data
Могу сказать что один из самых частых вопросов по Dateno - это как сделать чтобы мои данные были проиндексированы? Вопрос этот одновременно очень простой и сложный.

Модель индексирования данных в Dateno основано на доверии к источникам данных. Вместо того чтобы сканировать весь интернет на наличие датасетов, существует реестр каталогов данных [1] в котором более 10 тысяч каталогов и куча метаданных о них. Чуть более половины этих каталогов данных уже проиндексированы и доля проиндексированных постепенно растёт.

Индексирование датасетов таким образом, на самом деле, сложнее чем попытаться воспроизвести краулер Google Data Search (GDS), потому что для такого краулера можно было бы просто взять индекс Common Crawl и регулярно обновлять метаданные оттуда. Ресурсоёмкая, но интеллектуально простая задача. Если идти таким путём то немедленно всплывают все проблемы с качеством данных, с тем что существенная часть датасетов публикуется только для SEO продвижения и так далее.

Индексирование каталогов же предполагает что кто-то уже провел работу по валидации того что этот датасет не полное фуфло, а что-то осмысленное.

Поэтому как проще всего опубликовать датасеты? Проще всего, либо опубликовать на одном из каталогов данных которые Dateno индексирует. Второй вариант - это развернуть собственный каталог данных и прислать на него ссылку. Но этот каталог должен работать на типовом ПО таком как CKAN [2], DKAN [3], JKAN [4], InvenioRDM [5] и ряде других. Если Вы публикуете не один набор данных, а множество то использование типового портала для их публикации - это хорошая практика. Например, в РФ от Инфокультуры мы создавали Хаб открытых данных [6], а в Армении Data Catalog Armenia [7], оба на базе движка CKAN как наиболее продвинутого для публикации данных.

У публичных каталогов открытых данных, при этом, есть свои ограничения. К примеру, мы закрыли регистрацию пользователей на наших CKAN порталах из-за бесконечного объёма спама. А то есть, если Вы хотите там что-то опубликовать, то надо написать админам чтобы они Вас там зарегистрировали. Спамеры - это неприятная часть нашей жизни и ещё один довод в пользу создания собственных каталогов данных.

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

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

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

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

Ссылки:
[1] https://dateno.io/registry
[2] https://ckan.org
[3] https://getdkan.org
[4] https://jkan.io
[5] https://inveniosoftware.org/products/rdm/
[6] https://hubofdata.ru
[7] https://data.opendata.am

#opendata #datasets #data #datasearch #dateno
К вопросу о том как хорошо и правильно публиковать данные могу привести в пример проект OpenSanctions [1] который изначально создавался как полностью открытый, сейчас развивается как открытый для некоммерческого использования, но это касается условий юридических, а технически там всё очень грамотно.

Это крупнейший в мире открытый агрегатор всех санкционных датасетов и связанных с ними данных, например, реестров чиновников, членов парламентов, олигархов и других PEPs'ов (Politically exposed persons). Там есть и санкции против РФ, и против Ирана, и против десятков других стран и внутристрановые списки и ограничения.

Чем интересен их подход?
1. Все датасеты гармонизированы к набору схем и предоставляются сразу через стандартизированное API и дампами файлов для массовой выгрузки. Файлы не генерируются на лету, а сразу предсобраны и актуализируются при обновлении
2. Команда ведёт публичный changelog [2] всех изменений в структурах данных. Это как блог, но узкотематический, полезный для понимания внутреннего устройства.
3. Они же отдают массовые (bulk) выгрузки и дельты изменений [3]

Конечно, правильно сравнивать их сервис с коммерческими продуктами торговли данными и предоставления доступа к ним. Можно сравнивать к примеру, с Dune.com [4], сервисом доступа к крипто данным для аналитиков или с Databento [5] сервисом торговли данными для финансовых рынков.

Сравнивать с ними корректно потому что это коммерческие сервисы и на ту же аудиторию, тех кто работает с финансами или оказывает финансовые услуги. Разница лишь в происхождении, команда Open Sanctions вышла из среды открытого кода и открытых данных, поэтому, к примеру, не могут, а может и не хотят, закрыть свой продукт полностью.

У меня в этом смысле к их проекту двойное отношение.

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

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

Ссылки:
[1] https://www.opensanctions.org
[2] https://www.opensanctions.org/changelog/
[3] https://www.opensanctions.org/faq/80/bulk-deltas/
[4] https://dune.com
[5] https://databento.com

#opendata #datasets #data
Подборка полезного чтения про данные, технологии и не только:
- How we built a new powerful JSON data type for ClickHouse [1] статья от Павла Круглого про реализацию нового типа JSON в ClickHouse. Много подробностей и можно предполагать что новые фичи и этот тип стоит опробовать. По моему опыту ещё совсем недавно ClickHouse резко проигрывал DuckDB в разборе/импорте любого типа JSON документов. В общем надо тестировать, если всё так хорошо как написано, это может быть альтернативой MongoDB
- GERDA - German Elections Database [2] научный онлайн проект с базой по выборам в Германии с 1953 года. Доступно в виде наборов данных и пакета для языка R.
- Why techies leave Big Tech [3] почему технари покидают бигтехи? Да много почему, где-то увольнения, где-то стагнация и тупики в карьере. Автор пишет про основные причины и о том почему не надо так в бигтехи стремиться. Лично я для себя вообще не представляю что могло бы подтолкнуть там работать (ну если только бигтех не придёт с большим кошельком инвестиций в наш стартап Dateno, но это совсем другая тема)

Ссылки:
[1] https://clickhouse.com/blog/a-new-powerful-json-data-type-for-clickhouse
[2] https://www.german-elections.com/
[3] https://newsletter.pragmaticengineer.com/p/leaving-big-tech

#readings #data #datasets #opendata #careers #bigtech
В рубрике как это работает у них Defra, государственное агентство Великобритании, опубликовало несколько наборов данных посвящённых Стратегическому картированию шума (Strategic noise mapping) [1] эти данные создавались путём измерения шума на дорогах, железных дорогах и в крупнейших агломерациях в течение 2021 года и в соответствии с законом The Environmental Noise (England) Regulations 2006 [2] обязывающем государство вести такой мониторинг.

Итоговые данные опубликованы в виде геоданных, форматах WFS, WMS и OGC API на портале Data Services Platform [3] в виде датасетов:
- шум на железных дорогах [4]
- шум на дорогах [5]
- шум в агломерациях [6]

А также можно скачать данные по территориям выбрав их нарисовав полигон на карте.

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

Ссылки:
[1] https://www.gov.uk/government/publications/strategic-noise-mapping-2022/explaining-the-2022-noise-maps
[2] https://www.legislation.gov.uk/uksi/2006/2238/contents/made
[3] https://environment.data.gov.uk
[4] https://environment.data.gov.uk/dataset/3fb3c2d7-292c-4e0a-bd5b-d8e4e1fe2947
[5] https://environment.data.gov.uk/dataset/562c9d56-7c2d-4d42-83bb-578d6e97a517
[6] https://environment.data.gov.uk/dataset/4739c0c3-e800-4cb1-89cd-e71115b191e9
[7] https://environment.data.gov.uk/explore/562c9d56-7c2d-4d42-83bb-578d6e97a517?download=true

#opendata #datasets #lifequality #data #noise #uk