HDF5 skup podataka (.hdf5)
The StandardHijerarhijski format podataka 5 (HDF5) predstavlja vrhunsku arhitekturu za upravljanje naučnim podacima za masovne višedimenzionalne nizove, koja se opsežno koristi u superračunarstvu, modeliranju klime, neuronauci i mašinskom učenju.
Konvertujte HDF5 u CSV
Besplatan konvertor HDF5 u CSV u pregledaču. Konvertujte datoteke odmah na svom uređaju.
Pregled i metapodaci
Operativni sistemi i analizatori datoteka identifikuju HDF5 datoteke proverom početnog binarnog niza bajtova:
Potpis zaglavlja na nivou bajtova (magični bajtovi)
Operativni sistemi i analizatori datoteka identifikuju HDF5 datoteke proverom početnog binarnog niza bajtova:
HEKSADECIMALNI POTPIS (OFFSET 0):
89 48 44 46 0D 0A 1A 0AASCII REPREZENTACIJA: \x89HDF\r\n\x1a\n
Standardizacija: The HDF Group Open Standard Specification
Tehničke specifikacije
| Arhitektura kontejnera | Hijerarhijski binarni kontejner nalik sistemu datoteka, koji organizuje podatke u grupe (fascikle) i skupove podataka (višedimenzionalne nizove) sa atributima |
| Kompresija | Filteri za kompresiju po blokovima: Gzip (Deflate), SZIP, Zstandard, Blosc i LZF |
| Bajtni redosled (Endianness) | Navodi se u superbloku (Little-Endian ili Big-Endian) |
| Prostori boja | Nije primenljivo (višedimenzionalni numerički nizovi) |
| Kanali i struktura | Naučni nizovi velikog broja dimenzija, složeni tipovi podataka i tekstualni nizovi promenljive dužine |
| Maksimalne dimenzije | Praktično neograničen (podržava 64-bitne koordinate i skupove podataka veličine petabajta) |
| Transparentnost | Nema |
| Strimovanje i progresivno učitavanje | Skladištenje po blokovima omogućava čitanje delimičnih pravougaonih odsečaka bez učitavanja celog skupa podataka u memoriju |
Tehnička matrica poređenja: HDF5 u odnosu na konkurente
| Tehnički atribut | HDF5 (Trenutno) | NETCDF | FITS | ZARR |
|---|---|---|---|---|
| Hijerarhijska struktura | Kompletan sistem datoteka nalik POSIX-u (grupe i skupovi podataka) | NetCDF-4 koristi HDF5 u pozadini | Fiksni blokovi nizova i tabela | Format direktorijuma podeljen u komade (chunked) prilagođen oblaku |
| Sečenje skupa podataka (Slicing) | Izuzetno brzo čitanje pravougaonih blokova podataka | Brzo čitanje hiperskablova | Direktno indeksiranje blokova | Paralelno preuzimanje komada u oblaku |
| Upotreba u mašinskom učenju | Standard za težine modela (Keras .h5) | Retko se koristi u veštačkoj inteligenciji | Nema | Rastuća upotreba za skupove podataka za obuku veštačke inteligencije |
| Primarni ekosistem | NCSA, superračunarstvo, Python h5py | NOAA, meteorologija, okeanografija | NASA, astronomija, teleskopi | Nauka o podacima prilagođena oblaku |
Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak
Greška u Python h5py biblioteci: 'Unable to open file (file signature not found)'.
Osnovni uzrok: Oštećeni superblok od 8 bajtova na početku datoteke.
Oporavak: Pregledajte pomake superbloka ili oporavite skupove podataka pomoću File2File.app HDF5 alata.
Bezbednosna analiza i vektori napada parsera
Zvanična libhdf5 biblioteka obrađuje složena B-stabla i tabele hipova (heap tables) gde su oštećeni pomaci izazvali ranjivosti prekoračenja hipa.
Poznati vektori napada
- Prekoračenje bafera hipa tokom prolaska kroz indeks čvora B-stabla (npr. CVE-2021-37501).
- Upisivanje van granica u prilagođenim dodacima za cevovode dekompresije filtera.
- Uskraćivanje usluge kroz kružne cikluse povezivanja grupa.
Najbolje prakse za zaštitu: Obrađujte HDF5 datoteke kojima se ne veruje pomoću WebAssembly mašina u zaštićenom okruženju sa ograničenom memorijom.
Istorijat i prekretnice
Ključne prednosti
- Potpuni sistem datoteka unutar jedne datoteke: organizuje složene skupove podataka veličine više petabajta u imenovane grupe i skupove podataka poput direktorijuma.
- Čitanje pravougaonog odsečka visokih performansi: pročitajte mali 2D deo iz ogromne 5D matrice veličine 100 gigabajta, bez učitavanja cele datoteke.
- Duboka integracija sa modernim naučnim Python-om (h5py), MATLAB-om, R-om i visoko performansnim MPI-paralelnim superračunarima.
Tehnička ograničenja i nedostaci
- Visoka složenost specifikacije otežava nezavisnu implementaciju parsera van zvanične libhdf5 C biblioteke.
- Ograničenja zaključavanja sa jednim upisivačem u klasičnom HDF5-u su kroz istoriju komplikovala radne tokove konkurentnog upisivanja.
- Oštećeni superblokovi mogu učiniti celo hijerarhijsko stablo nedostupnim.
Zanimljivosti
- HDF5 potpis potiče od PNG-a; prepoznaje format i pomaže u otkrivanju čestih grešaka prenosa.
- NASA-in sistem za posmatranje Zemlje (EOS) čuva petabajte svakodnevnih satelitskih podataka o klimi u HDF5 formatu.
- Okviri za duboko učenje kao što su Keras i TensorFlow popularizovali su HDF5 (.h5) za čuvanje težina neuronskih mreža.
Često postavljana tehnička pitanja
Šta je HDF5 datoteka?
HDF5 datoteka je poput kompletnog sistema datoteka smeštenog u jednoj datoteci, namenjenog efikasnom čuvanju velikih naučnih nizova, tabela i modela mašinskog učenja.
Koja je razlika između .h5 i .hdf5?
Nema razlike; .h5 i .hdf5 su dve različite ekstenzije fajlova za potpuno isti Hijerarhijski format podataka 5 (Hierarchical Data Format 5).
Kako mogu da vidim šta se nalazi unutar HDF5 datoteke?
Možete pregledati grupe, skupove podataka i metapodatke unutar bilo koje HDF5 datoteke pomoću HDFView, Python h5py ili onlajn pomoću File2File.app.