Ivan Begtin
7.97K 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
Хороший технический обзор [1] том почему вместо файлов в формате CSV лучше использовать формат Parquet [2] из экосистемы Apache Hadoop. Формат этот, в отличие от CSV, адаптирован изначально под инструменты вроде Pandas и для аналитики он значительно удобнее, к тому же, и на этом акцент в обзоре, он изначально обеспечивает сжатие данных до 4-х раз при этом сохраняя возможность их загрузки в pandas и другие аналитические инструменты.

Из достоинств:
- с этим форматом хорошо работают библиотека pandas, разные инструменты для экосистемы Apache Hadoop, его поддерживает PowerBI и Tableau
- лучшее сжатие данных, до 4-х раз меньше чем CSV
- ускоряет запросы при загрузке в pandas, поскольку изначально колоночный, а не построчный формат

Из недостатков:
- не подгружается в Excel стандартными средствами
- нет стандартных инструментов загрузки в СУБД (SQL или No SQL), в отличие от CSV
- нет инструментов а ля csvkit позволяющих гибко обрабатывать данные

Мы в DataCrafter'е в конце прошлого года добавили экспорт данных в форматах CSV, JSON lines и Parquet к большинству наборов данных. Можно посмотреть вот тут на примере Действующего справочника поставщиков лекарственных средств [3]. Ко всем данным, конечно, добавить его сложно поскольку некоторые данные у нас в каталоге - это много гигабайт и миллионы записей и они доступны только через API и через ZIP файлы с экспортом, но для всех таблиц с менее чем 100 тысячами записей такой экспорт работает, а данные актуализируются.

Parquet не единственный интересный формат для хранения данных и сжатие не единственный важный критерий для форматов данных. Есть полезные обзоры сравнения Parquet, Avro и CSV [4] и Parquet, Apache Orc [5], а также Paquet, Avro и Orc [6] и у каждого из них свои важные полезные особенности, например, Avro гораздо лучше адаптирован под изменение схем данных.

Но, Avro и Orc ещё хуже поддерживаются общедоступными аналитическими инструментами, а есть и другие форматы такие как Protocol Buffers, XML, JSON. Например, в этом обзоре сравнение их возможностей [7]

И тут я, конечно, не могу не обратить внимание что за пределами корпоративного сектора и Modern Data Stack эти форматы практически не используются. В большинстве порталов открытых данных используются обычно CSV, реже XML, реже JSON и ещё какое-то количество унаследованных форматов данных вроде MS Access или DBF.

Адаптация современных порталов открытых данных, да и вообще порталов с данными, например, статистическими и аналитическими - это доступность данных в том числе в аналитических форматах, удобных для быстрой загрузки в инструменты вроде Power BI, Tableau или в сервисы обработки данных (data pipelines, ETL, ELT и др) и многое другое.

Ссылки:
[1] https://towardsdatascience.com/csv-files-for-storage-no-thanks-theres-a-better-option-72c78a414d1d
[2] https://en.wikipedia.org/wiki/Apache_Parquet
[3] https://data.apicrafter.ru/packages/roszdravvendors
[4] https://medium.com/ssense-tech/csv-vs-parquet-vs-avro-choosing-the-right-tool-for-the-right-job-79c9f56914a8
[5] https://medium.com/@dhareshwarganesh/benchmarking-parquet-vs-orc-d52c39849aef
[6] https://oswinrh.medium.com/parquet-avro-or-orc-47b4802b4bcb
[7] https://www.adaltas.com/en/2020/07/23/benchmark-study-of-different-file-format/

#opendata #data #dataformats #datastandards #csv #avro #parquet #orc
Публиковать данные важно, ещё важнее публиковать их в форматах применяемых в нужной отрасли и пригодных для удобного использования потребителями.

Для этого существуют открытые стандарты и вот подборка каталогов таких стандартов:
- List of Metadata Standards [1] от Digital Curation Center, UK. Стандарты используемые исследователями для публикации и хранения научных данных.
- Open Standards for Data [2] - сайт про открытые стандарты от Open Data Institute. Хорошая стартовая страница и ресурс для поиска открытых стандартов
- Open Civic Data Standards [3] от НКО Azavea - каталог открытых стандартов с акцентами на гражданское/некоммерческое применение.
- FairSharing [4] большой, даже очень большой каталог стандартов, форматов, баз знаний и руководств по публикации научных данных. Одних только стандартов 1563, они хорошо прокаталогизированы и привязаны к предметным областям и даже странам. Можно найти стандарты в разработке которых участвовали и российские научные организации.
- List of standards to assess [5] хорошая подборка стандартов публикации данных собранная в виде Google таблицы
- Open Data Standards Directory [6] каталог стандартов открытых данных от консультантов из GovEx.
- Schema.org [7] - каталог форматов микроразметки веб-страниц.
- US Data Federation [8] каталог стандартов и инструментов проверки данных используемых в портале Data.gov, США.
- Data.gov Data Standards [9] ещё одна подборка стандартов рекомендуемых к использованию на портале Data.gov, США
- Open standards for government [10] подборка открытых стандартов по публикации открытых данных, одобренных пр-вом Великобритании.
- ONS Data Standards [11] стандарты публикации данных статистической службы Великобритании. Обратите внимание что это часть их стратегии работы с данными [12], весьма подробной и чёткой.

Ссылки;
[1] https://www.dcc.ac.uk/guidance/standards/metadata/list
[2] https://standards.theodi.org/
[3] https://azavea.gitbooks.io/open-data-standards/content/
[4] https://beta.fairsharing.org/
[5] https://docs.google.com/spreadsheets/d/1r7OByH4IeFHzot43nayjlplgEHHW91I4uBIUn59SKgU/edit#gid=0
[6] https://datastandards.directory/
[7] https://schema.org/
[8] https://federation.data.gov
[9] https://resources.data.gov/categories/data-standards/
[10] https://www.gov.uk/government/publications/open-standards-for-government
[11] https://www.ons.gov.uk/aboutus/transparencyandgovernance/datastrategy/datastandards
[12] https://www.ons.gov.uk/aboutus/transparencyandgovernance/datastrategy

#opendata #datastandards #data #datastrategy
В блоге Open Data Charter, Darine Benkalha пишет про стандартизацию данных на порталах открытых данных [1]. То о чём я также регулярно пишу и уже приводил ссылки на имеющиеся стандарты, правда пока не раскрывал подробнее в чём проблемы с публикациями данных в России.

Автор упоминает опыт Южной Кореи с созданием единой пан-государственной системы метаданных и принятые стандарты публикации данных и гайды Правительства Каталонии по публикации данных и метаданных.

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

Ссылки:
[1] https://medium.com/opendatacharter/spotlight-a-plea-from-the-odcs-iwg-data-standardisation-matters-4d26329a18bb

#opendata #data #dataportals #datastandards
Ivan Begtin
Для тех кто интересуется реакцией правительств на COVID-19 через мобильные приложения для отслеживания, вышел финальный отчет Tracing The Tracers 2021 report: Automating COVID responses [1] от Algrorithm Watch, германской исследовательской группы в области…
Я ранее много раз упоминал стандарт публикации Frictionless Data [1] созданный командой Rufus Pollock, основателя Open Knowledge Foundation. Это стандарт контейнера для обмена данными и включающего специальный манифест с описанием состава данных. Самое очевидное и декларируемое его применение - это распространение данных в форматах CSV при которых в манифесте указаны параметры для открытия такого файла.

Идея эта не новая, например, библиотека конгресса США когда-то разработала стандарт Bagit [2] для обмена архивными данными. Но важным достоинством именно Frictionless Data является возможность расширения и создания своих стандартов на его основе. Так появился стандарт WACZ [3] для публикации веб-архивы внутри ZIP контейнера.

Веб архивы - это слепки сайтов создаваемые краулерами, такими как Internet Archive. Они создаются в международном стандарте WARC, а их метаданные в формате CDX, у которых есть множество достоинств и важный недостаток - они довольно сильно устарели. С метаданными есть потребность работать в машиночитаемом виде, сразу в JSON, а WARC файлы держать сжатыми, отсюда и появилась эта спецификация.

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

У нас в Национальном цифровом архиве пока используется только формат WARC для архивации сайтов и складывание файлов в ZIP архивы для архивации API и каталогов данных. Так вот у WARC главное достоинство - это некоторая, хоть и не самая большая, но экосистема и совместимость в виде статуса стандарта и множество недостатков таких как: плохое сжатие файлов, поддержка инструментами только сжатия в форматах .warc.gz (GZIP плохо жмёт и вообще и такие данные), отсутствие встроенного механизма индекса содержания или поддержка внешних индексов и, в целом, возможность быстрой навигации с разделением метаданных и содержания - сейчас в WARC файле хранятся одновременно заголовки файлов и сами данные, в результате надо листать весь архив.

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

Ссылки:
[1] https://frictionlessdata.io
[2] https://datatracker.ietf.org/doc/html/draft-kunze-bagit
[3] https://webrecorder.github.io/wacz-spec/1.2.0/

#opendata #datastandards
Написал очередной большой текст на английском Data catalogs. Part 2. Data and metadata standards [1] на Medium о том какие стандарты работы с данными и метаданными используются в каталогах данных.

Ссылки:
[1] https://medium.com/@ibegtin/data-catalogs-part-2-data-and-metadata-standards-940dc575a787

#datastandards #datacatalogs
OpenOwnership, международный проект по стандартизации и содействию раскрытия реальных бенефициаров юридических лиц по всему миру, опубликовали руководство-обзор-рекомендации по введению санкций против стран которые не обеспечивают раскрытие информации о бенефициарных владельцах [1].

Документ полезный для специалистов по комплаенс и для понимания развития регулирования в мире в части прозрачности информации о владении компаниями.

Для тех кто не отслеживал мои прошлые публикации про Open Ownership, это одна из интересных международных инициатив по стандартизации публикации открытых данных с фокусом на раскрытие данных о реальных владельцах. Это главное что отличает их от проекта OpenCorporates где собрана информация только о учредителях. Уже сейчас по стандарту Open Ownership опубликованы реестры нескольких стран: Словакий, Украина, Великобритания, Дания и ряд других.

Ссылки:
[1] https://www.openownership.org/en/publications/designing-sanctions-and-their-enforcement-for-beneficial-ownership-disclosure/

#opendata #datastandards
Хороший текст “Semantic-free” is the future of Business Intelligence [1] о семантически-свободных BI продуктах и то что headless BI - это тоже семантически-свободный BI. Расшифровывается это как то что все BI инструменты должны соблюдать общие стандарты в результате применения которых можно использовать комбинации BI инструментов. Звучит здорово, но вообще безвендорный мир или мир с ослаблением вендоров сложен без административного или мощного рыночного давления.

Текст же весьма полезный для понимания некоторых проблем с BI которые после прочтения текста кажутся очевидными.

Ссылки:
[1] https://towardsdatascience.com/semantic-free-is-the-future-of-business-intelligence-27aae1d11563

#bi #datastandards
В рубрике как это работает у них, проект FairSharing [1] база стандартов, политик и баз данных/каталогов данных связанных с научными исследованиями.

В общей сложности в базе собраны։
- 1973 баз данных
- 1646 стандартов
- 159 политик
- 3487 организаций

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

Это курируемый каталог, с командой из 8 человек из Data Readiness Group из Университета Оксфорда [2] и десятков если не сотен исследователей вовлеченных в его наполнение.

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

Материалов связанных с Россией там очень мало, с другими постсоветскими странами. Есть данные по метеорологии, несколько баз данных по биологии и генетике, профинансированных РНФ, и несколько баз созданных ещё в советское время в рамках World Data Centers.

При этом данные интегрированы с проектами Re3Data от DataCite и ROR.

Лично меня удивило только что сделан он на самостоятельно разработанном движке, а не на Wikidata, к примеру, который смотрится почти идеально для подобных задач. С другой стороны у продуктов на базе Mediawiki и Wikidata свои ограничения, несомненно собственный движок гораздо гибче.

Ссылки։
[1] https://fairsharing.org/
[2] https://datareadiness.eng.ox.ac.uk/

#openaccess #opendata #fair #datastandards
Давно планировал написать о том почему не надо хранить и публиковать данные как CSV файлы.

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

Почему? Потому что он предельно прост. Первая строка - это перечень названий полей через разделитель, а далее каждая строка файла - это строка из базы данных где последовательно значения по этим полям. Разделителем, обычно, выступает запятая (,), но также часто используют: символ табуляции (\t), пайп (|), точку с запятой (;) и др.

У этой простоты есть и своя цена:
1. Файлы CSV не содержат метаданных о типах полей. Эти типы надо определять из внешнего источника или угадывать
2. При плохой реализации, велика вероятность ошибки и того что в CSV файле будут ошибки форматирования и какие-то записи могут быть прочтены неверно.
3. Диалектов очень много, это и разделители разные, выделение текста в кавычки, и разный подход к прочтению и сохранению записей с переносами строк и тд.

Об этом немало публикаций есть уже давно:
- Why You Don’t Want to Use CSV Files [1]
- Stop Using CSVs for Storage — This File Format Is 150 Times Faster [2]
- Why should you use Parquet files if you process a lot of data? [3]

Тем не менее CSV активно используют из-за его простоты. Особенно если надо сделать CSV файл из Excel файлов. Это очень распространённое явление где открытые данные были обязательными для госслужащих, это привело к тому что массово они публиковали данные в CSV формате просто сохраняя Excel файлы. Но файлы Excel не обязательно устроены так что первая строка это заголовки и последующие - это данные, часто это сложные формы и разные нетривиальные способы записи данных. Поэтому очень многие CSV файлы на госпорталах использовать автоматически не получается, приходится их проверять и чистить вручную.

Но открытые данные - это одно, а есть и просто повседневная работа с данными где у CSV должны быть альтернативы и они есть. Самая очевидная - это стандарт Frictionless Data [4] который сохраняет CSV файл внутрь ZIP контейнера и вкладывает в этот контейнер файл манифеста с метаданными, то какой там разделитель и какие типы полей. Формат на выходе называется data package и его начинают применять на некоторых научных системах хранениях данных.

Другой путь - это в сохранении данных в формате Apache Parquet [5] - это специальный открытый формат для колоночного сохранения данных. У него немало достоинств, они легко гуглятся и несколько ссылок я привел выше, но главный в том что данные ещё и хорошо сжимаются и невероятно удобны и быстры для анализа. В Parquet файлах колонки хранятся по отдельности и сжимаются по отдельности. Уровень их сжатия гораздо выше чем у CSV файлов, поскольку часто колонки имеют всего несколько значений и содержать, по сути, не уникальные значения, а словари. Parquet позволяет хранить данные в меньшем объёме и гораздо быстрее их загружать в любой инструмент работы с дата-фреймами, такими как библиотеки Pandas и Polars.

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

Ссылки:
[1] https://haveagreatdata.com/posts/why-you-dont-want-to-use-csv-files/
[2] https://towardsdatascience.com/stop-using-csvs-for-storage-this-file-format-is-150-times-faster-158bd322074e
[3] https://datos.gob.es/en/blog/why-should-you-use-parquet-files-if-you-process-lot-data
[4] https://frictionlessdata.io/
[5] https://parquet.apache.org/

#opendata #datasets #data #dataformats #datastandards #csv #likbez
Свежий стандарт по публикации результатов научной деятельности в открытом доступе Cross Domain Interoperability Framework (CDIF): Discovery Module [1] создан в рамках проекта WorldFAIR [2] и охватывает самые разнообразные объекты, но, что важнее, он описывает их публикацию используя schema.org что существенно повышает их находимость для поисковиков, в первую очередь, Google, но не только. Существенная часть стандарта про публикацию наборов данных, с отсылками в другим стандартам, включая DCAT, DataCite, ISO19115, EML, FGDC CSDGM, CERIF и DDI. Странно разве что отсутствие упоминания OAI-PHM. Как бы то ни было, потенциально это новый стандарт, который может быть вскоре одобрен в ЕС.

Ссылки:
[1] https://zenodo.org/records/10252564
[2] https://worldfair-project.eu/2023/12/05/cross-domain-interoperability-framework-cdif-discovery-module-v01-draft-for-public-consultation/

#opendata #datastandards #eu #standards #data #openaccess