HDF5-Datensatz (.hdf5)
The StandardDas Hierarchical Data Format 5 (HDF5) ist die führende Architektur für das wissenschaftliche Datenmanagement massiver mehrdimensionaler Arrays und wird intensiv im Supercomputing, in der Klimamodellierung, den Neurowissenschaften und dem maschinellen Lernen eingesetzt.
Von HDF5 zu CSV konvertieren
Kostenloser Konverter von HDF5 zu CSV im Browser. Konvertieren Sie Dateien sofort auf Ihrem Gerät.
Untersuchen & Metadaten
Betriebssysteme und Dateianalyseprogramme identifizieren HDF5-Dateien anhand der führenden binären Bytefolge:
Headersignatur auf Byte-Ebene (Magic Bytes)
Betriebssysteme und Dateianalyseprogramme identifizieren HDF5-Dateien anhand der führenden binären Bytefolge:
HEX-SIGNATUR (OFFSET 0):
89 48 44 46 0D 0A 1A 0AASCII-DARSTELLUNG: \x89HDF\r\n\x1a\n
Standardisierung: The HDF Group Open Standard Specification
Technische Daten
| Container-Architektur | Hierarchischer, dateisystemähnlicher Binärcontainer, der Daten mit Attributen in Gruppen (Ordner) und Datensätzen (mehrdimensionale Felder) organisiert |
| Kompression | Chunkbasierte Komprimierungsfilter: Gzip (Deflate), SZIP, Zstandard, Blosc und LZF |
| Byte-Reihenfolge | Declared in superblock (Little or Big-Endian) |
| Farbräume | N/A (Multi-dimensional Numerical Arrays) |
| Kanäle und Struktur | Hochdimensionale wissenschaftliche Felder, zusammengesetzte Datentypen und Zeichenfolgen variabler Länge |
| Max. Abmessungen | Praktisch unbegrenzt (unterstützt 64-Bit-Koordinaten und Datensätze im Petabyte-Bereich) |
| Transparenz | None |
| Streaming und progressive Darstellung | Chunkbasierte Speicherung ermöglicht das teilweise Ausschneiden von Hyper-Slabs, ohne den gesamten Datensatz in den Arbeitsspeicher zu laden |
Technische Vergleichsmatrix: HDF5 und Konkurrenzformate
| Technisches Attribut | HDF5 (Aktuelles Format) | NETCDF | FITS | ZARR |
|---|---|---|---|---|
| Hierarchiestruktur | Vollständiges POSIX-ähnliches Dateisystem (Gruppen & Datensätze) | NetCDF-4 verwendet HDF5 im Unterbau | Feste Block-Arrays & Tabellen | Cloud-natives, gechunktes Verzeichnisformat |
| Datensatz-Slicing | Ultraschnelle binäre Hyperslab-Lesevorgänge | Schnelle Hyperslab-Lesevorgänge | Direkte Blockindizierung | Parallele Cloud-Chunk-Abrufe |
| Nutzung für maschinelles Lernen | Standard für Modellgewichte (Keras .h5) | Selten in der KI verwendet | Keine | Wachsende Nutzung für KI-Trainingsdaten |
| Primäres Ökosystem | NCSA, Supercomputing, Python h5py | NOAA, Meteorologie, Ozeanographie | NASA, Astronomie, Teleskope | Cloud-native Datenwissenschaft |
Häufige Datenbeschädigungen und Leitfaden zur Wiederherstellung anhand von Hex-Daten
Python-h5py-Fehler: 'Datei konnte nicht geöffnet werden (Dateisignatur nicht gefunden)'.
Ursache: Beschädigter 8-Byte-Superblock am Anfang der Datei.
Wiederherstellung: Überprüfen Sie Superblock-Offsets oder stellen Sie Datensätze mit dem File2File.app HDF5-Tool wieder her.
Sicherheitsanalyse und Angriffsvektoren für Parser
Die offizielle libhdf5-Bibliothek verarbeitet komplexe B-Bäume und Heap-Tabellen, bei denen beschädigte Offsets Heap-Überlaufschwachstellen verursacht haben.
Bekannte Angriffsvektoren
- Heap-Pufferüberlauf während des Durchlaufens von B-Baum-Knotenindizes (z. B. CVE-2021-37501).
- Schreiben außerhalb der Grenzen in benutzerdefinierten Dekomprimierungsfilter-Pipeline-Plugins.
- Denial-of-Service durch zirkuläre Gruppenverknüpfungszyklen.
Empfohlene Schutzmaßnahmen: Verarbeiten Sie nicht vertrauenswürdige HDF5-Dateien mit WebAssembly-Engines in einer Sandbox und mit eingeschränktem Speicher.
Historische Ursprünge & Meilensteine
Hauptvorteile & Stärken
- Komplettes Dateisystem in einer Datei: organisiert komplexe, Petabyte-große Datensätze in benannten Gruppen und Datensätzen wie Verzeichnisse.
- Leistungsstarkes Hyperslab-Slicing: Lesen eines winzigen 2D-Schnitts aus einer massiven 100-Gigabyte-5D-Matrix, ohne die gesamte Datei lesen zu müssen.
- Tiefgreifende Integration mit modernen wissenschaftlichen Python-Bibliotheken (h5py), MATLAB, R und MPI-parallelen Höchstleistungs-Supercomputern.
Technische Einschränkungen & Nachteile
- Die hohe Spezifikationskomplexität erschwert unabhängige Parser-Implementierungen außerhalb der offiziellen libhdf5-C-Bibliothek.
- Sperrbeschränkungen für einzelne Schreibvorgänge im klassischen HDF5 erschwerten historisch gesehen gleichzeitige Schreib-Workflows.
- Beschädigte Superblöcke können den gesamten hierarchischen Baum unzugänglich machen.
Interessante technische Fakten
- Die HDF5-Signatur geht auf PNG zurück; sie kennzeichnet das Format und hilft, häufige Übertragungsfehler zu erkennen.
- Das Earth Observing System (EOS) der NASA speichert Petabyte täglicher Satellitenklimadaten im HDF5-Format.
- Deep-Learning-Frameworks wie Keras und TensorFlow machten HDF5 (.h5) zum Speichern von Gewichten neuronaler Netze populär.
Häufig gestellte technische Fragen
Was ist eine HDF5-Datei?
Eine HDF5-Datei ist wie ein vollständiges Dateisystem, das in einer einzigen Datei gespeichert ist. Sie wurde entwickelt, um massive wissenschaftliche Arrays, Tabellen und Modelle für maschinelles Lernen effizient zu speichern.
Was ist der Unterschied zwischen .h5 und .hdf5?
Es gibt keinen Unterschied; .h5 und .hdf5 sind zwei verschiedene Dateiendungen für exakt dasselbe Hierarchical Data Format 5.
Wie kann ich den Inhalt einer HDF5-Datei anzeigen?
Sie können die Gruppen, Datensätze und Metadaten in jeder HDF5-Datei mit HDFView, Python h5py oder online mit File2File.app untersuchen.