Jump to content

Иерархический формат данных

Иерархический формат данных
Расширение имени файла .hdf, .h4, .hdf4, .he2, .h5, .hdf5, .he5
Тип интернет-СМИ приложение/x-hdf, приложение/x-hdf5
Магическое число \211HDF\r\n\032\n
Разработано Группа ХДФ
Тип формата Формат научных данных
Открытый формат ? Да
Веб-сайт www .hdfgroup .org /решения /hdf5 Отредактируйте это в Викиданных

Иерархический формат данных ( HDF ) — набор форматов файлов ( HDF4 , HDF5 ), предназначенных для хранения и организации больших объемов данных. США Первоначально разработанный в Национальном центре суперкомпьютерных приложений , он поддерживается The HDF Group, некоммерческой корпорацией, миссией которой является обеспечение дальнейшего развития технологий HDF5 и постоянной доступности данных, хранящихся в HDF.

В соответствии с этой целью библиотеки HDF и связанные с ними инструменты доступны по либеральной лицензии типа BSD для общего использования. HDF поддерживается многими коммерческими и некоммерческими программными платформами и языками программирования. Свободно доступный дистрибутив HDF состоит из библиотеки, утилит командной строки, исходного кода набора тестов, интерфейса Java и средства просмотра HDF на основе Java (HDFView). [1]

Текущая версия HDF5 существенно отличается по дизайну и API от основной устаревшей версии HDF4.

Ранняя история

[ редактировать ]

Поиски портативного формата научных данных, первоначально получившего название AEHOO (Всеохватывающий иерархический объектно-ориентированный формат), начались в 1987 году Целевой группой по графическим основам (GFTF) Национального центра суперкомпьютерных приложений (NCSA). Гранты НФС, полученные в 1990 и 1992 годах, сыграли важную роль в проекте. Примерно в это же время НАСА исследовало 15 различных форматов файлов для использования в проекте Системы наблюдения Земли (EOS). После двухлетнего процесса рассмотрения HDF была выбрана в качестве стандартной системы данных и информации. [2]

HDF4 — более старая версия формата, хотя она все еще активно поддерживается The HDF Group. Он поддерживает множество различных моделей данных, включая многомерные массивы, растровые изображения и таблицы. Каждый из них определяет конкретный совокупный тип данных и предоставляет API для чтения, записи и организации данных и метаданных. Новые модели данных могут добавлять разработчики или пользователи HDF.

HDF является самоописывающимся, что позволяет приложению интерпретировать структуру и содержимое файла без какой-либо внешней информации. Один файл HDF может содержать набор связанных объектов, к которым можно получить доступ как к группе, так и к отдельным объектам. Пользователи могут создавать свои собственные структуры группировки, называемые «vgroups».

Формат HDF4 имеет множество ограничений. [3] [4] Ему не хватает четкой объектной модели, что затрудняет дальнейшую поддержку и улучшение. Поддержка множества различных стилей интерфейса (изображений, таблиц, массивов) приводит к сложному API. Поддержка метаданных зависит от того, какой интерфейс используется; Объекты SD (набор научных данных) поддерживают произвольные именованные атрибуты, тогда как другие типы поддерживают только предопределенные метаданные. Возможно, самое главное то, что использование 32-битных целых чисел со знаком для адресации ограничивает размер файлов HDF4 максимум 2 ГБ, что неприемлемо для многих современных научных приложений.

Формат HDF5 предназначен для устранения некоторых ограничений библиотеки HDF4, а также для удовлетворения текущих и ожидаемых требований современных систем и приложений. В 2002 году он получил награду R&D 100 Award . [5]

HDF5 упрощает файловую структуру, включив в нее только два основных типа объектов:

Пример структуры HDF
  • Наборы данных, которые представляют собой типизированные многомерные массивы.
  • Группы, представляющие собой структуры-контейнеры, в которых могут храниться наборы данных и другие группы.

В результате получается действительно иерархический формат данных, подобный файловой системе. [ нужны разъяснения ] [ нужна ссылка ] Фактически, доступ к ресурсам в файле HDF5 можно получить с помощью POSIX -подобного синтаксиса /path/to/resource . Метаданные хранятся в форме определяемых пользователем именованных атрибутов, прикрепленных к группам и наборам данных. Затем можно создать более сложные API-интерфейсы хранения, представляющие изображения и таблицы, с использованием наборов данных, групп и атрибутов.

В дополнение к этим достижениям в формате файла HDF5 включает улучшенную систему типов и объекты пространства данных, которые представляют собой выборки по областям набора данных. API также объектно-ориентирован в отношении наборов данных, групп, атрибутов, типов, пространств данных и списков свойств.

Последняя версия NetCDF , версия 4, основана на HDF5.

Поскольку HDF5 использует B-деревья для индексации объектов таблицы, он хорошо работает с данными временных рядов , такими как ряды цен на акции, данные сетевого мониторинга и трехмерные метеорологические данные. Основная часть данных помещается в простые массивы (объекты таблиц), доступ к которым осуществляется гораздо быстрее, чем к строкам базы данных SQL , но доступ к B-дереву доступен и для данных, не являющихся массивами. Механизм хранения данных HDF5 может быть проще и быстрее, чем звездообразная схема SQL . [ нужен пример ]

Обратная связь

[ редактировать ]

Критика HDF5 вызвана его монолитной конструкцией и подробной спецификацией.

  • HDF5 не требует использования UTF-8 , поэтому клиентские приложения в большинстве мест могут ожидать ASCII.
  • Данные набора данных невозможно освободить из файла без создания копии файла с помощью внешнего инструмента (h5repack). [6]

Интерфейсы

[ редактировать ]

Официально поддерживаемые API

[ редактировать ]
  • С
  • С++
  • Интерфейс командной строки — .Net
  • Фортран , Фортран 90
  • HDF5 Lite (H5LT) — облегченный интерфейс для C.
  • HDF5 Image (H5IM) — интерфейс C для изображений или растров.
  • HDF5 Table (H5TB) — интерфейс C для таблиц.
  • Таблица пакетов HDF5 (H5PT) — интерфейсы для C и C++ для обработки «пакетных» данных, доступ к которым осуществляется на высоких скоростях.
  • Масштаб размеров HDF5 (H5DS) — позволяет добавлять шкалы размеров в HDF5.
  • Ява

Сторонние привязки

[ редактировать ]

Инструменты

[ редактировать ]
  • Разъем Apache Spark HDF5 Разъем HDF5 для Apache Spark
  • Плагин Apache Drill HDF5 Плагин HDF5 для Apache Drill позволяет выполнять запросы SQL к файлам HDF5.
  • HDF Product Designer Совместимый инструмент создания продуктов данных HDF5 с графическим интерфейсом (больше не доступен)
  • HDF Explorer Программа визуализации данных, которая читает файлы данных форматов HDF, HDF5 и netCDF.
  • HDFView Браузер и редактор для файлов HDF.
  • ViTables Браузер и редактор файлов HDF5 и PyTables, написанных на Python.
  • Panoply Средство просмотра данных netCDF, HDF и GRIB.
  • silx Браузер для файлов HDF, специально предназначенный для данных синхротронного рентгеновского излучения.
  • h5web Для просмотра файлов HDF в браузере или в коде Visual Studio.

См. также

[ редактировать ]
  1. ^ Средство просмотра HDF на основе Java (HDFView)
  2. ^ «История группы HDF» . Проверено 15 июля 2014 г.
  3. ^ Чем HDF5 отличается от HDF4? Архивировано 30 марта 2009 г. в Wayback Machine.
  4. ^ «Есть ли ограничения для файлов HDF4?» . Архивировано из оригинала 19 апреля 2016 г. Проверено 29 марта 2009 г.
  5. ^ Архивы наград R&D 100, заархивированные 4 января 2011 г. в Wayback Machine.
  6. ^ Россант, Сирил. «Отход от HDF5» . cyrill.rossant.net . Проверено 21 апреля 2016 г.
  7. ^ Библиотека JHDF5
  8. ^ по импорту и экспорту HDF Mathematica Документация
  9. ^ PDL::IO::HDF5
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 684aaa2c930537cdc71f7f2d078adc89__1708631520
URL1:https://arc.ask3.ru/arc/aa/68/89/684aaa2c930537cdc71f7f2d078adc89.html
Заголовок, (Title) документа по адресу, URL1:
Hierarchical Data Format - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)