HDF5データセット (.hdf5)

The 標準

Hierarchical Data Format 5 (HDF5) は、巨大な多次元配列のための最高峰の科学データ管理アーキテクチャであり、スーパーコンピューティング、気候モデリング、神経科学、機械学習において広く使用されています。

HDF5 を CSV に変換

無料のブラウザ内 HDF5 から CSV へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで HDF5 ファイルを識別します:

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリバイトシーケンスを検査することで HDF5 ファイルを識別します:

16進数シグネチャ (オフセット 0):

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

ASCII表現: \x89HDF\r\n\x1a\n

標準化: The HDF Group Open Standard Specification

技術仕様

コンテナアーキテクチャHierarchical filesystem-like binary container organizing data into Groups (folders) and Datasets (multi-dimensional arrays) with attributes
圧縮Chunk-based compression filters: Gzip (Deflate), SZIP, Zstandard, Blosc, and LZF
バイトエンディアンDeclared in superblock (Little or Big-Endian)
色空間N/A (Multi-dimensional Numerical Arrays)
チャンネルと構造High-dimensional scientific arrays, compound data types, and variable-length strings
最大寸法Practically unlimited (supports 64-bit coordinates and petabyte-scale datasets)
透過性None
ストリーミングとプログレッシブChunked storage enables partial hyper-slab slicing without loading full dataset into memory

技術比較マトリックス: HDF5 対 競合製品

技術属性HDF5 (現在)NETCDFFITSZARR
階層構造完全なPOSIX風ファイルシステム(グループとデータセット)NetCDF-4は内部でHDF5を使用固定ブロック配列とテーブルクラウドネイティブなチャンク化ディレクトリ形式
データセットスライシング超高速バイナリハイパースラブ読み取り高速ハイパースラブ読み取り直接ブロックインデックスクラウド並列チャンク取得
機械学習での利用モデルの重みの標準(Keras .h5)AIではめったに使用されないなしAIトレーニングデータセットでの利用が拡大中
主要エコシステムNCSA、スーパーコンピューティング、Python h5pyNOAA、気象学、海洋学NASA、天文学、望遠鏡クラウドネイティブデータサイエンス

一般的な破損モードと16進数リカバリガイド

Python h5pyエラー: 'Unable to open file (file signature not found)'。

根本原因: ファイル先頭の8バイトのスーパーブロックの破損。

復旧: スーパーブロックのオフセットを検査するか、File2File HDF5ツールを使用してデータセットを復旧してください。

セキュリティ分析とパーサー攻撃ベクトル

公式のlibhdf5ライブラリは、破損したオフセットがヒープオーバーフロー脆弱性を引き起こす可能性のある複雑なBツリーおよびヒープテーブルを解析します。

既知の攻撃ベクター

  • Bツリーノードインデックス走査中のヒープバッファオーバーフロー(例: CVE-2021-37501)。
  • カスタム解凍フィルターパイプラインプラグインにおける領域外書き込み。
  • 循環グループリンクサイクルによるサービス拒否。

防御的ベストプラクティス:

歴史的背景とマイルストーン

2020HDF5 v1.12が、クラウドオブジェクトストレージ(Amazon S3)向けの仮想オブジェクトレイヤー(VOL)コネクタを導入。
2006HDFグループがイリノイ大学NCSAから独立した非営利財団としてスピンオフ。
1998NCSAがHDF5をリリースし、元のHDF4を完全に再設計して2GBのファイル制限を解消。

主な利点とメリット

  • ファイル内完全ファイルシステム:複雑な数ペタバイトのデータセットを、ディレクトリのように名前付きグループやデータセットに整理。
  • 高性能な超短冊(ハイパースラブ)スライシング:100GBの巨大な5D行列から、ファイル全体を読み込むことなく、微小な2Dスライスを読み取り可能。
  • 最新の科学用Python(h5py)、MATLAB、R、および高性能なMPI並列スーパーコンピュータとの深い統合。

技術的な制限とデメリット

  • 仕様の複雑さが高いため、公式のlibhdf5 Cライブラリ以外での独立したパーサ実装が困難。
  • 従来のHDF5における単一ライターのロック制限により、従来は同時書き込みワークフローが複雑化していた。
  • スーパーブロックが破損すると、階層ツリー全体にアクセスできなくなる可能性がある。

興味深い技術トリビア

  • HDF5ファイルの最初の8つのマジックバイト(\x89HDF\r\n\x1a\n)は、ファイル転送の破損を検知するためにPNGのシグネチャを意図的に模しています。
  • NASAの地球観測システム(EOS)は、毎日の衛星気候データをHDF5形式でペタバイト単位で保存しています。
  • KerasやTensorFlowなどのディープラーニングフレームワークにより、神経ネットワークの重みの保存にHDF5(.h5)が普及しました。

よくある技術的な質問

HDF5ファイルとは何ですか?

HDF5ファイルは、1つのファイル内に保存された完全なファイルシステムのようなもので、大規模な科学的配列、テーブル、機械学習モデルを効率的に保存できるように設計されています。

.h5と.hdf5の違いは何ですか?

違いはありません。.h5と.hdf5は、全く同じHierarchical Data Format 5に対する2つの異なるファイル拡張子です。

HDF5ファイルの中身を確認するにはどうすればよいですか?

HDFView、Pythonのh5py、またはFile2File.appを使ったオンラインで、HDF5ファイル内のグループ、データセット、メタデータを検査できます。