h5db

HDF5-Datasets und -Attribute lesen

Maintainer: jokasimr

Installation und Laden

INSTALL h5db FROM community;
LOAD h5db;

Beispiel

FROM h5_read('file.h5', '/some/dataset', '/another');

Über h5db

Diese Erweiterung stellt Funktionen zum Lesen von Daten und Metadaten aus HDF5-Dateien bereit.

Zu den Funktionen gehören:

  • Tabellenfunktion h5_read() zum Lesen von Datasets.
  • Tabellenfunktion h5_tree() zum Auflisten von Gruppen und Datasets in einer Datei, optional inklusive projizierter Attribute.
  • Tabellenfunktion h5_attributes() zum Lesen von Attributen.
  • Tabellen- und Skalarfunktionen h5_ls() zum Auflisten von Einträgen in Gruppen.
  • Mehrere Datasets: Mehrere Datasets in getrennte Spalten einlesen.
  • Mehrdimensionale Arrays: Unterstützung für 1D- bis 4D-Datasets.
  • Projektions-Pushdown: Nur die tatsächlich benötigten Datasets lesen.
  • Indexspalte: Fügt optional eine index-Spalte hinzu, die Predicate-Pushdown konstanter Bereichsfilter (>, <=, BETWEEN usw.) für effiziente selektive Lesevorgänge unterstützt.
  • Liest Datasets, die größer als der Arbeitsspeicher sind.
  • Entfernte Lesezugriffe über HTTPS, S3 usw. über die DuckDB-Erweiterung httpfs.
  • Entfernte Lesezugriffe über SFTP über einen eingebauten SFTP-Client.
  • Globbing: Datasets aus mehreren Dateien vertikal kombinieren (UNION ALL).

Die vollständige Dokumentation finden Sie im h5db-Repository.

Hinzugefügte Funktionen

function_name function_type description comment examples
h5_alias scalar Renames a column definition. NULL [FROM h5_read(‘data.h5’, h5_alias(‘temperature’, ‘/entry/temp’))]
h5_attr scalar Creates a projected HDF5 attribute definition for h5_tree() and h5_ls(). NULL [FROM h5_tree(‘data.h5’, h5_attr(‘NX_class’))]
h5_attributes scalar Reads all attributes from one HDF5 object as a MAP. NULL [SELECT h5_attributes(‘data.h5’, ‘/measurements’)]
h5_attributes table Reads all attributes from an HDF5 object or file root. NULL [FROM h5_attributes(‘data.h5’, ‘/measurements’)]
h5_first_file scalar Returns the first concrete HDF5 filename from an exact path, glob, or list for planning-time use with h5_read(). NULL [FROM h5_read(h5_first_file(‘runs/run_*.h5’), ‘/detector_geometry’)]
h5_index scalar Creates a virtual row-index column definition for h5_read(). NULL [FROM h5_read(‘data.h5’, h5_index(), ‘/measurements’)]
h5_ls scalar Lists entries immediately under an HDF5 group as a MAP. NULL [SELECT h5_ls(‘data.h5’, ‘/entry’)]
h5_ls table Lists entries immediately under an HDF5 group as rows. NULL [FROM h5_ls(‘data.h5’, ‘/entry’)]
h5_ls_swmr scalar Lists entries immediately under an HDF5 group as a MAP using SWMR read mode. NULL [SELECT h5_ls_swmr(‘data.h5’, ‘/entry’)]
h5_read scalar Reads one HDF5 dataset as a VARIANT. NULL [SELECT h5_read(‘data.h5’, ‘/entry/dataset’)]
h5_read table Reads one or more HDF5 datasets as DuckDB columns. NULL [FROM h5_read(‘data.h5’, ‘/measurements’)]
h5_ree scalar Creates a run-end encoded column definition for h5_read(). NULL [FROM h5_read(‘data.h5’, ‘/time’, h5_ree(‘/state_run_ends’, ‘/state_values’))]
h5_rse scalar Creates a run-start encoded column definition for h5_read(). NULL [FROM h5_read(‘data.h5’, ‘/time’, h5_rse(‘/state_run_starts’, ‘/state_values’))]
h5_tree table Recursively lists entries in an HDF5 file. NULL [FROM h5_tree(‘data.h5’)]
h5db_version scalar Returns h5db, linked HDF5, and SFTP backend library versions. NULL [SELECT h5db_version()]

Überladene Funktionen

Diese Erweiterung fügt keine Funktionsüberladungen hinzu.

Hinzugefügte Typen

Diese Erweiterung fügt keine Typen hinzu.

Hinzugefügte Einstellungen

name description input_type scope aliases
h5db_batch_size Target batch size for h5_read read-ahead caching (e.g. 1MB, 8MB) VARCHAR GLOBAL []
h5db_scalar_read_memory_limit Estimated peak memory limit for scalar h5_read materialization (e.g. 64MB, none) VARCHAR GLOBAL []
h5db_swmr_default Default to SWMR read mode for h5db table functions BOOLEAN GLOBAL []