HDF5-datasæt (.hdf5)

The Standard

Hierarchical Data Format 5 (HDF5) er den førende arkitektur til håndtering af videnskabelige data i store multidimensionelle arrays og bruges i vid udstrækning inden for højtydende databehandling, klimamodellering, neurovidenskab og maskinlæring.

Konverter HDF5 til CSV

Gratis HDF5 til CSV-konverter i browseren. Konverter filer med det samme på din enhed.

Undersøgelse og metadata

Operativsystemer og filanalysatorer identificerer HDF5-filer ved at inspicere den indledende binære bytesekvens:

Vælg eller træk filer hertil

Privat - filer forlader aldrig din enhed

eller indsæt Ctrl+V
Privatlivsgaranti uden netværksoverførsel: 0 byte overført til eksterne servere. Al behandling foregik lokalt i browserens sandkasse.

Byte-niveau Header-signatur (Magic Bytes)

Operativsystemer og filanalysatorer identificerer HDF5-filer ved at inspicere den indledende binære bytesekvens:

HEX-SIGNATUR (OFFSET 0):

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

ASCII-REPRÆSENTATION: \x89HDF\r\n\x1a\n

Standardisering: The HDF Group Open Standard Specification

Tekniske specifikationer

ContainerarkitekturHierarkisk, filsystemlignende binærbeholder, der organiserer data i Groups (mapper) og Datasets (flerdimensionelle arrays) med attributter
KomprimeringChunkbaserede komprimeringsfiltre: Gzip (Deflate), SZIP, Zstandard, Blosc og LZF
Byte-rækkefølgeAngives i superblokken (Little-Endian eller Big-Endian)
FarverumIkke relevant (flerdimensionelle numeriske arrays)
Kanaler og strukturVidenskabelige arrays med høj dimension, sammensatte datatyper og strenge med variabel længde
Maks. dimensionerPraktisk talt ubegrænset (understøtter 64-bit-koordinater og datasæt på petabyteskala)
GennemsigtighedIngen
Streaming og progressivChunkopdelt lagring muliggør delvis udtrækning af hyperslabs uden at indlæse hele datasættet i hukommelsen

Teknisk sammenligningsmatrix: HDF5 sammenlignet med konkurrenterne

Teknisk attributHDF5 (Aktuel)NETCDFFITSZARR
HierarkistrukturFuldt POSIX-lignende filsystem (grupper og datasæt)NetCDF-4 bruger HDF5 undernedenArrays og tabeller med faste blokkeCloud-nativt format med opdelte mapper
Udsnit af datasætUltrahurtig binær læsning af hyperslabsHurtig læsning af hyperslabsDirekte blokindekseringParallel hentning af datablokke fra cloudlager
MaskinlæringsanvendelseStandard for modelvægte (Keras .h5)Bruges sjældent til AIIngenStigende brug af datasæt til AI-træning
Primært økosystemNCSA, supercomputere, Python h5pyNOAA, meteorologi, oceanografiNASA, astronomi, teleskoperCloud-nativ datavidenskab

Almindelige korruptionstilstande og hex-gendannelsesvejledning

Python h5py-fejl: 'Unable to open file (file signature not found)'.

Grundlæggende årsag: Korrupt 8-byte superblock i begyndelsen af filen.

Gendannelse: Undersøg superblock-forskydninger eller gendan datasæt ved hjælp af File2File.app HDF5-værktøjet.

Sikkerhedsanalyse og parser-angrebsvektorer

Det officielle libhdf5-bibliotek parser komplekse B-træer og heap-tabeller, hvor korrupte forskydninger har forårsaget heap-overløbssårbarheder.

Kendte angrebsvektorer

  • Heap-bufferoverløb under gennemløb af B-træets nodeindeks (f.eks. CVE-2021-37501).
  • Skrivning uden for bufferens grænser i brugerdefinerede plugins til dekomprimeringsfilterpipelines.
  • Nægtelse af tjeneste (DoS) gennem cirkulære gruppelænkningscyklusser.

Defensive bedste praksisser: Behandl ikke-betroede HDF5-filer i WebAssembly-motorer, der er isolerede i en sandkasse og har begrænset hukommelse.

Historisk oprindelse og milepæle

2020HDF5 v1.12 introducerer Virtual Object Layer (VOL)-forbindelser til cloud-objektlagring (Amazon S3).
2006HDF Group udskilles fra NCSA ved University of Illinois som en uafhængig nonprofitorganisation.
1998NCSA udgiver HDF5 og designer det oprindelige HDF4 fuldstændigt om for at fjerne filgrænsen på 2 GB.

Vigtige fordele og styrker

  • Komplet filsystem i én fil: organiserer komplekse datasæt på flere petabytes i navngivne grupper og datasæt som mapper.
  • Højtydende udtræk af hyperslabs: læs et lille 2D-udsnit fra en massiv 5D-matrice på 100 gigabyte uden at læse hele filen.
  • Dyb integration med moderne videnskabelig Python (h5py), MATLAB, R og højtydende MPI-parallelle supercomputere.

Tekniske begrænsninger og ulemper

  • Specifikationens høje kompleksitet gør det vanskeligt at implementere uafhængige parsere uden for det officielle C-bibliotek libhdf5.
  • Begrænsninger i låsning med én skriver i klassisk HDF5 har historisk set gjort samtidige skriveforløb komplicerede.
  • Korrupte superblocks kan gøre hele det hierarkiske træ utilgængeligt.

Interessante tekniske fakta

  • HDF5-signaturen stammer fra PNG; den identificerer formatet og hjælper med at opdage almindelige overførselsfejl.
  • NASAs Earth Observing System (EOS) gemmer petabytes af daglige satellitklimadata i HDF5-format.
  • Maskinlæringsrammer som Keras og TensorFlow populariserede HDF5 (.h5) til lagring af neurale netværksvægte.

Ofte stillede tekniske spørgsmål

Hvad er en HDF5-fil?

En HDF5-fil er som et komplet filsystem i én fil, der er designet til effektivt at gemme store videnskabelige arrays, tabeller og maskinlæringsmodeller.

Hvad er forskellen mellem .h5 og .hdf5?

Der er ingen forskel; .h5 og .hdf5 er to forskellige filtypenavne for nøjagtig det samme Hierarchical Data Format 5.

Hvordan kan jeg se, hvad der er inde i en HDF5-fil?

Du kan inspicere grupperne, datasættene og metadataene inde i enhver HDF5-fil ved hjælp af HDFView, Python h5py eller online med File2File.app.