Ivan Begtin
7.98K subscribers
1.81K photos
3 videos
101 files
4.52K 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
В рубрике как это устроено у них текст 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] http://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
В рубрике интересных каталогов и поисковиков по данным проект WorldEx [1] каталог данных и поисковик геоданных привязанных к хексагонам.

Кодирование через хексагоны стало популярным относительно недавно, авторы используют библиотеку H3 [2] от Uber.

Подход любопытный, благо в Dateno у нас миллионы датасетов с геоданными и было бы любопытно разметить их по хексагонам. Очень любопытно.

Сам проект worldex с открытым кодом [3], хранят данные в PostGIS и Elasticsearch.

Жаль не удалось найти код конвейеров данных по геокодированию в H3, но и без него такое можно повторить.

Ссылки:
[1] https://worldex.org
[2] https://h3geo.org
[3] https://github.com/worldbank/worldex

#opendata #data #search #datasearch #datacatalogs #dataviz #geodata
Forwarded from Open Data Armenia
Для тех кто ищет данные об Армении в мире, обновился поисковый индекс проекта Dateno [1] и теперь он включает более 25 тысяч наборов данных о стране, большая часть данных это статистические индикаторы Всемирного банка, ВТО, Банка международных расчётов и других. А также иные статистические показатели и геоданные.

Ещё можно найти немало датасетов с упоминанием Еревана [2] как крупнейшего города страны

А также тысячи наборов данных доступны при поиске по слову Armenia [3], но иногда возникают пересечения с одноимённым городом в Колумбии [4]🇨🇴

Dateno доступен через веб интерфейс и через API, получить ключ можно после регистрации и проверить его с помощью утилиты командной строки [5].

P.S. Основатели Open Data Armenia также являются основателями Dateno, данные по Армении можно будет использовать на хакатонах по открытым данным, а самые интересные датасеты мы будем копировать на портал открытых данных Open Data Armenia.

Ссылки:
[1] https://dateno.io/search?refinementList%5Bsource.countries.name%5D%5B0%5D=Armenia
[2] https://dateno.io/search?query=Yerevan
[3] https://dateno.io/search?query=Armenia
[4] https://en.wikipedia.org/wiki/Armenia,_Colombia
[5] https://github.com/datenoio/datenocmd

#opendata #data #armenia #datasearch
Лично я постоянно ищу какие есть поисковики по данным, глобальные и национальные, а недавно обнаружил что оказывается такой поисковик есть у правительства Шотландии find.data.gov.scot и по многим параметрам он напоминает Dateno, что хорошо😜, но тысячу раз меньше поэтому не конкурент😂.

Итак, в Шотландии пр-во достаточно давно планирует осуществить открытие портала открытых данных data.gov.scot, но пока они этого не сделали они пошли по австралийскому пути создания национального поисковика по данным.

Всего на портале на главной странице декларируется что присутствует 17 тысяч датасетов, а на странице поиска только 11 тысяч. Метаданные о них собираются из примерно 60 источников данных (data hosts) через парсеры нескольких видов API.

Что мне нравится, ребята явно идут нашим путём и проанализировали не меньше пары сотен источников данных, систематизировали их API, идентифицировали ПО некоторых каталогов данных о которых я не знал (MetadataWorks, USmart и др.), но при этом про наш каталог Dateno registry явно не знали. Плюс у них в источниках данных многое что каталогами данных назвать нельзя, публикации файлов отдельными ведомствами, но для сбора датасетов на региональном уровне явно полезно..

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

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

Если делать внутристрановой поисковик по данным то на их проект стоит обратить внимание. Они явно писали HTML парсеры под разделы статистики на многих сайтах и значительная часть датасетов там - это PDF файлы статистики нескольких инспекций.

В любом случае любопытно, в том числе как референсные оценки числа датасетов в Шотландии. В Dateno их сейчас около 8 тысяч, в этом местном поисковике их около 11 тысяч. Есть куда стремиться 🛠

#opendata #scotland #datasets #data #datasearch #dateno
Документы бюджета Великобритании Autumn Budget 2024 [1] интересно смотреть сразу с нескольких точек зрения. Во первых они публикуют документ бюджета в виде книги [2], с графиками и очень понятными таблицами и сразу с присвоением ISBN и хорошо отформатированной веб версией [3].

А во вторых, и это интереснее, отдельным приложением идёт документ с упоминанием всех источников данных [4]. Буквально в стиле "в таком то разделе, таком то параграфе приведены данные ссылка на которых вот тут".

А также множество сопровождающих документов.

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

Ссылки:
[1] https://www.gov.uk/government/publications/autumn-budget-2024
[2] https://assets.publishing.service.gov.uk/media/672232d010b0d582ee8c4905/Autumn_Budget_2024__web_accessible_.pdf
[3] https://www.gov.uk/government/publications/autumn-budget-2024/autumn-budget-2024-html
[4] https://assets.publishing.service.gov.uk/media/6722236e4da1c0d41942a986/Autumn_Budget_2024_-_Data_Sources__1_.pdf

#openbudgets #data #opendata #uk #readings
Я довольно давно думаю о разных возможностях и подходах в удешевлении создания машиночитаемых/структурированных данных из неструктурированных потому что задача создания качественных датасетов из всякого мусора неструктурированных присутствует давно и до конца никем не решена, но есть некоторые приближения.

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

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

Между этими крайностями есть много промежуточных вариантов: в виде файлов MS Word, в PDF документах и так далее.

При этом из Excel файлов таблицы выделяются естественным образом, из MS Word с небольшими усилиями, из PDF уже сложнее, нужна человеческая валидация, но всё это возможно и всё это автоматизируемо.

Так вот, как можно было бы создать быстро портал открытых данных из таких продуктов? Давайте я приведу в пример Минфин России. На его сайте в разделе Документы размещено 29 594 документов. Из которых только 45% 12 349 - это PDF файлы,а всё остальное - это XLS, XLSX, DOC, DOCX и ZIP файлы. При этом в ZIP файлах, как правило, десятки DOC/DOCX/XLSX файлов (не PDF).

Весь этот банк документов буквально за короткий срок превращается в банк открытых данных. Не идеальных, не самых востребованных, но куда более полезных чем даже публиковалось на портале data.gov.ru до его исчезновения.

Разумеется это только один из примеров. Точно также можно превратить в банк данных документы Минфина Казахстана или Минфина Армении.

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

Можно ли сейчас создать таким образом десятки и сотни тысяч датасетов? Конечно же можно

#opendata #opengov #datasets #data
Пока я рассуждал о том что новые инструменты data wrangling'а (манипуляция и трансформация данных) появятся уже на базе движков вроде DuckDB или Clickhouse, они начали появляться. Свежее видео выступления Hannes Mühleisen - Data Wrangling [for Python or R] Like a Boss With DuckDB [1] ровно про это и слайды к нему же [2].

Автор/докладчик там сравнивает DuckDB в загрузке файлов и упоминает duckplyr [3] очень производительный заменитель популярной библиотеки Dplyr [4] для языка R.

Всю презентацию можно свести к утверждению что DuckDB - это круто для манипуляции данными и я склонен с этим согласиться.

Я бы ещё добавил что хорошо и правильно сравнивать и с интерактивными инструментами вроде OpenRefine, Talend, Trifacta и ещё рядом других. Собственно только отсутствие UI поверх движка DuckDB или Clickhouse ограничивает их популярность.

Если бы, к примеру, OpenRefine авторы переделали на движок DuckDB то цены бы ему не было и возможность работать с большими данными стала бы естественной. Но OpenRefine так просто не переделать, так что больше надежды что это создаст кто-то другой.

Я какое-то время назад проектировал такой движок и могу сказать что это не так сложно. Если бы не прорыв в индексации каталогов данных превратившийся в Dateno, я может быть такой data wrangling инструмент бы даже попробовал сделать, но сейчас просто мало времени на такое, тоже интересное занятие.

P.S. Кстати, для Python есть аналог dplyr под названием dplython [5], но попроще.

Ссылки:
[1] https://www.youtube.com/watch?v=GELhdezYmP0&list=PL9HYL-VRX0oSFkdF4fJeY63eGDvgofcbn&index=66
[2] https://blobs.duckdb.org/posit-conf-2024-keynote-hannes-muehleisen-data-wrangling-duckdb.pdf
[3] https://github.com/tidyverse/duckplyr?tab=readme-ov-file
[4] https://dplyr.tidyverse.org/
[5] https://github.com/dodger487/dplython

#opensource #data #datatools #rdbms #duckdb #dataengineering
Я тут наблюдаю время от времени как публикуют открытые данные некоторые команды, в том числе с хорошей мировой репутацией, но с небольшими знаниями по современной дата инженерии и уже какое-то бесконечное время смотрю как многие открытые и не только открытые данные опубликованы. И прихожу к мысли о том что уже классическое определение открытых данных с точки зрения 5 звезд которое формулировал Тим-Бернерс Ли [1] [2] не то чтобы устарело, но требует актуализации.

Напомню как это было сформулировано:
- 1 звезда - данные доступны онлайн в любом формате ⭐️
- 2 звезды - данные доступны хотя бы в структурированном формате, например, Excel таблица ⭐️⭐️
- 3 звезды - данные доступны в структурированном непроприетарном формате, например, CSV, KML, JSON и др. ⭐️⭐️⭐️
- 4 звезды - данные доступны по прямой ссылке и в форматах а ля RDF (RDF, Turtle, JSON-LD и тд.). То есть их не надо получать динамически через какой-нибудь экспорт из графика или системы, а можно напрямую скачать.⭐️⭐️⭐️⭐️
- 5 звезд - данные доступны как Linked data, их можно связывать с другими датасетами. ⭐️⭐️⭐️⭐️⭐️

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

Если посмотреть по прошествии более 10 лет с момента формулировки и с точки зрения стремительного развитие работы с данными, я бы, навскидку, описал это так. Не по звёздам, а по уровням качества данных.

- 1 уровень - данные доступны в любом виде
- 2 уровень - данные доступны и к ним есть сопровождающие их базовые метаданные
- 3 уровень - данные доступны, к ним есть метаданные и они опубликованы в машиночитаемой форме
- 4 уровень - данные доступны, к ним есть метаданные, они машиночитаемы и к ним есть документация и/или схема
- 5 уровень - данные доступны, к ним есть метаданные, они машиночитаемы, к ним есть документация и они опубликованы в современных форматах для дата инженерии (parquet) или также доступны через API или как связанные данные Linked Data
- 6 уровень - данные оформлены как дата продукт, они доступны, к ним есть метаданные, они машиночитаемы, есть документация и несколько способов/форматов их получения: простые форматы CSV/JSON, современные вроде parquet, API и SDK. Пример: датасет с данными стран доступный как CSV, как JSON, как parquet, и в виде библиотеки на Python.

Это пока что мысли навскидку, если ещё чуть-чуть подумать то можно сформулировать точнее, но основное думаю очевидно. Linked Data - это хорошо, но воспринимать это как единственно эволюционную доступность данных нельзя. Точно так же с проприетарными форматами. Когда-то Microsoft был объектом публичной атаки буквально всех кто был за открытость. Сейчас проприетарность опубликованного формата, скажем так, вторична при практическом использовании. Проблема форматов XLS/XLSX и, кстати, ODS тоже не в проприетарности, а в чрезмерной гибкости приводящей к проблемам при конвертации.

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

Чуть позже я ещё вернусь к этой теме.

Ссылки:
[1] https://5stardata.info/en/
[2] https://dvcs.w3.org/hg/gld/raw-file/default/glossary/index.html#linked-open-data

#opendata #thoughts #data