Хороший технический обзор [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
Из достоинств:
- с этим форматом хорошо работают библиотека 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
Medium
CSV Files for Storage? No Thanks. There’s a Better Option
Saving data to CSV’s is costing you both money and disk space. It’s time to end it.
Публиковать данные важно, ещё важнее публиковать их в форматах применяемых в нужной отрасли и пригодных для удобного использования потребителями.
Для этого существуют открытые стандарты и вот подборка каталогов таких стандартов:
- 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
Для этого существуют открытые стандарты и вот подборка каталогов таких стандартов:
- 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 Standards for Data Guidebook
Welcome to the Open Standards for Data Handbook
This guidebook helps people and organisations create, develop and adopt open standards for data. It supports a variety of users, including policy leads, domain experts and technologists.
В блоге 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
Автор упоминает опыт Южной Кореи с созданием единой пан-государственной системы метаданных и принятые стандарты публикации данных и гайды Правительства Каталонии по публикации данных и метаданных.
Полезно для всех кто работает со стандартами данных, как публикатор и как пользователь.
Ссылки:
[1] https://medium.com/opendatacharter/spotlight-a-plea-from-the-odcs-iwg-data-standardisation-matters-4d26329a18bb
#opendata #data #dataportals #datastandards
Medium
[Spotlight] A plea from the ODC’s IWG: Data standardisation matters
A re-cap of ODC’s Implementation Working Group meeting held last September 2021
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
Идея эта не новая, например, библиотека конгресса США когда-то разработала стандарт 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
Frictionless Data
Data software and standards
Написал очередной большой текст на английском 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
Ссылки:
[1] https://medium.com/@ibegtin/data-catalogs-part-2-data-and-metadata-standards-940dc575a787
#datastandards #datacatalogs
Medium
Data catalogs. Part 2. Data and metadata standards
There are a lot of data standards related to data science, open data, scientific data, digital assets as data, and so on. It’s nearly…
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
Документ полезный для специалистов по комплаенс и для понимания развития регулирования в мире в части прозрачности информации о владении компаниями.
Для тех кто не отслеживал мои прошлые публикации про Open Ownership, это одна из интересных международных инициатив по стандартизации публикации открытых данных с фокусом на раскрытие данных о реальных владельцах. Это главное что отличает их от проекта OpenCorporates где собрана информация только о учредителях. Уже сейчас по стандарту Open Ownership опубликованы реестры нескольких стран: Словакий, Украина, Великобритания, Дания и ряд других.
Ссылки:
[1] https://www.openownership.org/en/publications/designing-sanctions-and-their-enforcement-for-beneficial-ownership-disclosure/
#opendata #datastandards
openownership.org
Designing sanctions and their enforcement for beneficial ownership disclosure
Having adequate sanctions in place, and enforcing them effectively, can drive up compliance with disclosure requirements and increase the accuracy and usability of beneficial ownership data
Хороший текст “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
Текст же весьма полезный для понимания некоторых проблем с BI которые после прочтения текста кажутся очевидными.
Ссылки:
[1] https://towardsdatascience.com/semantic-free-is-the-future-of-business-intelligence-27aae1d11563
#bi #datastandards
Medium
“Semantic-free” is the future of Business Intelligence
How dbt, metrics, headless, and the universal semantic layer enable “semantic-free” Business Intelligence
В рубрике как это работает у них, проект 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
В общей сложности в базе собраны։
- 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
Для тех кто не знает, 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
Have a great data!
Why You Don't Want to Use CSV Files
“Microsoft has incompatible versions of CSV files between its own applications, and in some cases between different versions of the same application (Excel being the obvious example here).”
Eric S. Raymond
We have all been there: you are assigned an exciting…
Eric S. Raymond
We have all been there: you are assigned an exciting…
Свежий стандарт по публикации результатов научной деятельности в открытом доступе 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
Ссылки:
[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
Zenodo
Cross Domain Interoperability Framework (CDIF): Discovery Module (v01 draft for public consultation)
In support of the WorldFAIR project and other activities to improve the implementation of the FAIR principles, the Cross-Domain Interoperability Framework (CDIF) Working Group is producing a suite of recommendations and guidelines. The CDIF will include…