Zbiór danych HDF5 (.hdf5)

The Standardowy

Hierarchical Data Format 5 (HDF5) to czołowa architektura zarządzania danymi naukowymi dla masowych macierzy wielowymiarowych, szeroko stosowana w superkomputerach, modelowaniu klimatu, neuronauce oraz uczeniu maszynowym.

Konwertuj HDF5 na CSV

Darmowy konwerter z HDF5 na CSV w przeglądarce. Konwertuj pliki natychmiast na swoim urządzeniu.

Inspekcja i metadane

Systemy operacyjne i analizatory plików identyfikują pliki HDF5, sprawdzając początkową sekwencję bajtów binarnych:

Wybierz lub upuść pliki tutaj

Konwersja w 100% prywatna w przeglądarce - pliki nigdy nie opuszczają Twojego urządzenia

lub wklej Ctrl+V
Gwarancja prywatności bez przesyłania danych do sieci: 0 bajtów przesłanych na zewnętrzne serwery. Całe przetwarzanie odbyło się lokalnie w piaskownicy przeglądarki.

Podpis nagłówka na poziomie bajtów (Magic Bytes)

Systemy operacyjne i analizatory plików identyfikują pliki HDF5, sprawdzając początkową sekwencję bajtów binarnych:

PODPIS HEX (OFFSET 0):

89 48 44 46 0D 0A 1A 0A

REPREZENTACJA ASCII: \x89HDF\r\n\x1a\n

Normalizacja: The HDF Group Open Standard Specification

Specyfikacja techniczna

Architektura konteneraHierarchical filesystem-like binary container organizing data into Groups (folders) and Datasets (multi-dimensional arrays) with attributes
KompresjaChunk-based compression filters: Gzip (Deflate), SZIP, Zstandard, Blosc, and LZF
Kolejność bajtów (Endianness)Declared in superblock (Little or Big-Endian)
Przestrzenie kolorówN/A (Multi-dimensional Numerical Arrays)
Kanały i strukturaHigh-dimensional scientific arrays, compound data types, and variable-length strings
Maks. wymiaryPractically unlimited (supports 64-bit coordinates and petabyte-scale datasets)
PrzezroczystośćNone
Streaming i progresywne ładowanieChunked storage enables partial hyper-slab slicing without loading full dataset into memory

Techniczna macierz porównawcza: HDF5 a konkurencja

Atrybut technicznyHDF5 (Bieżący)NETCDFFITSZARR
Struktura hierarchicznaPełny system plików w stylu POSIX (grupy i zestawy danych)NetCDF-4 bazuje na HDF5Tablicy i tabele o stałych blokachChmurowy format podzielony na bloki (katalogi)
Wycinanie zbiorów danychBardzo szybkie binarne odczyty hiperslabówSzybkie odczyty hiperslabówBezpośrednie indeksowanie blokówChmurowe pobieranie równoległych bloków
Zastosowanie w uczeniu maszynowymStandard dla wag modeli (Keras .h5)Rzadko stosowany w AIBrakRosnące wykorzystanie w treningu zestawów danych AI
Główny ekosystemNCSA, superkomputery, Python h5pyNOAA, meteorologia, oceanografiaNASA, astronomia, teleskopyChmurowa data science

Typowe tryby uszkodzeń i przewodnik odzyskiwania szesnastkowego

Błąd Pythona h5py: 'Unable to open file (file signature not found)'.

Główna przyczyna: Uszkodzony 8-bajtowy superblok na początku pliku.

Odzyskiwanie: Sprawdź offsety superbloku lub odzyskaj zestawy danych za pomocą narzędzia File2File HDF5 Tool.

Analiza bezpieczeństwa i wektory ataku na parser

Oficjalna biblioteka libhdf5 przetwarza złożone drzewa B i tablice sterty (heap), w których uszkodzone offsety wywoływały podatności na przepełnienie sterty.

Znane wektory ataku

  • Przepełnienie bufora sterty podczas przechodzenia przez indeks węzła drzewa B (np. CVE-2021-37501).
  • Zapis poza granicami bufora w niestandardowych wtyczkach potoku filtru dekompresji.
  • Odmowa usługi poprzez zapętlone powiązania grup.

Najlepsze praktyki obronne:

Pochodzenie historyczne i kamienie milowe

2020HDF5 w wersji 1.12 wprowadza złącza Virtual Object Layer (VOL) dla chmurowej pamięci obiektowej (Amazon S3).
2006Grupa HDF odłącza się od NCSA Uniwersytetu Illinois jako niezależna fundacja non-profit.
1998NCSA wydaje HDF5, całkowicie przeprojektowując oryginalny HDF4, aby wyeliminować limit 2 GB dla plików.

Główne zalety

  • Kompletny system plików w jednym pliku: organizuje złożone wielopetabajtowe zestawy danych w nazwane grupy i zbiory danych przypominające katalogi.
  • Wydajne wycinanie hiperslabów (hyperslab slicing): odczyt małego dwuwymiarowego wycinka z gigantycznej, 100-gigabajtowej macierzy pięciowymiarowej bez konieczności wczytywania całego pliku.
  • Głęboka integracja z nowoczesnym naukowym językiem Python (h5py), środowiskiem MATLAB, językiem R oraz superkomputerami działającymi w trybie równoległym MPI.

Ograniczenia techniczne i wady

  • Wysoka złożokość specyfikacji utrudnia niezależną implementację parsera poza oficjalną biblioteką C libhdf5.
  • Ograniczenia blokowania pojedynczego autora zapisu w klasycznym HDF5 historycznie komplikowały współbieżne przepływy pracy związane z zapisem.
  • Uszkodzone superbloki mogą uniemożliwić dostęp do całego drzewa hierarchicznego.

Ciekawe informacje techniczne

  • Pierwsze 8 bajtów magicznych pliku HDF5 (\x89HDF\r\n\x1a\n) celowo naśladują sygnaturę formatu PNG w celu wykrywania uszkodzonych transferów plików.
  • System obserwacji Ziemi (EOS) NASA przechowuje petabajty codziennych satelitarnych danych klimatycznych w formacie HDF5.
  • Frameworki uczenia głębokiego, takie jak Keras czy TensorFlow, popularyzowały format HDF5 (.h5) do zapisywania wag sieci neuronowych.

Często zadawane pytania techniczne

Czym jest plik HDF5?

Plik HDF5 jest jak kompletny system plików zapisany wewnątrz pojedynczego pliku, zaprojektowany z myślą o wydajnym przechowywaniu masywnych naukowych macierzy, tabel i modeli uczenia maszynowego.

Jaka jest różnica między .h5 a .hdf5?

Nie ma żadnej różnicy; .h5 i .hdf5 to dwa różne rozszerzenia plików dla dokładnie tego samego formatu Hierarchical Data Format 5.

Jak mogę zobaczyć, co znajduje się w pliku HDF5?

Możesz sprawdzać grupy, datasety oraz metadane wewnątrz dowolnego pliku HDF5 za pomocą programów HDFView, biblioteki Python h5py lub online za pomocą File2File.app.