HDF5 adatkészlet (.hdf5)

The Szabvány

A Hierarchical Data Format 5 (HDF5) a hatalmas, többdimenziós tömbök vezető tudományos adatkezelési formátuma, amelyet széles körben használnak a szuperszámítástechnikában, az éghajlatmodellezésben, az idegtudományban és a gépi tanulásban.

HDF5 konvertálása erre: CSV

Ingyenes, böngészőben használható HDF5-konverter CSV formátumba. A fájlokat azonnal konvertálhatja az eszközén.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) HDF5 fájlokat:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Bájtszintű fejlécaláírás (fájlazonosító bájtok)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) HDF5 fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

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

ASCII ÁBRÁZOLÁS: \x89HDF\r\n\x1a\n

Szabványosítás: The HDF Group Open Standard Specification

Műszaki specifikációk

Konténer architektúraHierarchikus, fájlrendszer-szerű bináris tároló, amely csoportokba (mappákba) és adatkészletekbe (többdimenziós tömbökbe) rendezi az adatokat, attribútumokkal együtt
TömörítésAdatblokkokon működő tömörítési szűrők: Gzip (Deflate), SZIP, Zstandard, Blosc és LZF
BájtsorrendA szuperblokkban van megadva (kis bájtsorrendű vagy nagy bájtsorrendű)
SzínterekNem alkalmazható (többdimenziós numerikus tömbök)
Csatornák és struktúraNagy dimenziószámú tudományos tömbök, összetett adattípusok és változó hosszúságú karakterláncok
Max. méretekGyakorlatilag korlátlan (64 bites koordinátákat és petabájtos adatkészleteket is támogat)
ÁtlátszóságNincs
Streaming és progresszívA blokkolt tárolás lehetővé teszi részleges hipersík-szeletek kiolvasását a teljes adatkészlet memóriába töltése nélkül

Műszaki összehasonlító mátrix: HDF5 vs. versenytársak

Technikai attribútumHDF5 (Jelenlegi)NETCDFFITSZARR
Hierarchikus felépítésTeljes POSIX-szerű fájlrendszer (csoportok és adatkészletek)A NetCDF-4 belsőleg a HDF5-öt használjaRögzített blokktömbök és táblázatokFelhőhöz tervezett, darabolt könyvtárformátum
Adatkészlet-szeletelésRendkívül gyors bináris hipersáv-beolvasásGyors hiperszelet-olvasásKözvetlen blokkindexelésPárhuzamos adatdarab-lekérések a felhőből
Gépi tanulási felhasználásA modell súlyainak szabványa (Keras .h5)Ritkán használatos az AI-banNincsAz AI betanítására szolgáló adatkészletek növekvő használata
Elsődleges ökoszisztémaNCSA, szuperszámítógépek, Python h5pyNOAA, meteorológia, óceánográfiaNASA, csillagászat, távcsövekFelhőalapú adattudomány

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

Python h5py hiba: 'Nem sikerült megnyitni a fájlt (a fájl aláírása nem található)'.

Kiváltó ok: Sérült 8 bájtos szuperblokk a fájl elején.

Helyreállítás: Vizsgálja meg a szuperblokk eltolásait, vagy állítsa helyre az adatkészleteket a File2File.app HDF5-eszközével.

Biztonsági elemzés és elemző (parser) támadási vektorok

A hivatalos libhdf5 könyvtár összetett B-fákat és halomtáblákat elemez, ahol a sérült eltolások halompuffer-túlcsordulási sebezhetőségeket okoztak.

Ismert támadási vektorok

  • Halompuffer-túlcsordulás a B-fa csomópontindexének bejárása során (pl. CVE-2021-37501).
  • Határokon túli írás az egyedi dekompressziós szűrőcsővezeték-bővítményekben.
  • Szolgáltatásmegtagadás körkörös csoport-hivatkozási ciklusokon keresztül.

Ajánlott védekezési módszerek: Dolgozza fel a nem megbízható HDF5-fájlokat homokozóban futó WebAssembly-motorokkal, korlátozott memóriahasználat mellett.

Történeti háttér és mérföldkövek

2020A HDF5 v1.12 bevezette a virtuális objektumréteg (VOL) csatlakozóit a felhőalapú objektumtároláshoz (Amazon S3).
2006Az HDF Group független, nonprofit alapítványként vált ki az Illinoisi Egyetem NCSA-jából.
1998Az NCSA kiadta a HDF5-öt, és teljesen újratervezte az eredeti HDF4-et a 2 GB-os fájlkorlát megszüntetése érdekében.

Főbb előnyök

  • Teljes fájlrendszer egy fájlban: a komplex, több petabájtos adatkészleteket elnevezett csoportokba és adatkészletekbe szervezi, a könyvtárakhoz hasonlóan.
  • Nagy teljesítményű hipersík-szeletelés: egy hatalmas, 100 gigabájtos 5D-s mátrixból a teljes fájl beolvasása nélkül is kiolvasható egy apró 2D-s szelet.
  • Szoros integráció a modern tudományos Python-ökoszisztémával (h5py), a MATLAB-bal, az R-rel és a nagy teljesítményű MPI-párhuzamos szuperszámítógépekkel.

Technikai korlátok és hátrányok

  • A magas specifikációs komplexitás megnehezíti a független elemzőimplementációk elkészítését a hivatalos libhdf5 C könyvtáron kívül.
  • A klasszikus HDF5 egyíróra vonatkozó zárolási korlátozásai történelmileg megnehezítették az egyidejű írási munkafolyamatokat.
  • A sérült szuperblokkok hozzáférhetetlenné tehetik a teljes hierarchikus fát.

Érdekes technikai tudnivalók

  • A HDF5 aláírása PNG-ből ered; azonosítja a formátumot és segít észlelni a gyakori átviteli hibákat.
  • A NASA Földmegfigyelési Rendszere (EOS) naponta petabájtnyi műholdas éghajlati adatot tárol HDF5-formátumban.
  • A mélytanulási keretrendszerek, például a Keras és a TensorFlow, népszerűsítették a HDF5-öt (.h5) a neurális hálózatok súlyainak mentésére.

Gyakran Ismételt Műszaki Kérdések

Mi az az HDF5-fájl?

Az HDF5 fájl olyan, mint egy teljes fájlrendszerhez hasonló struktúra egyetlen fájlban, és arra lett tervezve, hogy hatékonyan tároljon hatalmas méretű tudományos tömböket, táblázatokat és gépi tanulási modelleket.

Mi a különbség a .h5 és a .hdf5 között?

Nincs különbség; a .h5 és a .hdf5 két különböző fájlkiterjesztés ugyanahhoz a Hierarchical Data Format 5 formátumhoz.

Hogyan tekinthetem meg egy HDF5 fájl tartalmát?

A HDFView, a Python h5py vagy a File2File.app segítségével megtekinthetők bármely HDF5-fájl csoportjai, adatkészletei és metaadatai.