HDF5データセット (.hdf5)

The 標準

階層型データ形式5(HDF5)は、大規模な多次元配列に対応した主要な科学データ管理アーキテクチャで、スーパーコンピューティング、気候モデリング、神経科学、機械学習で広く使われています。

HDF5 を CSV に変換

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

調査とメタデータ

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

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

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

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

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

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

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

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

標準化: The HDF Groupオープン標準仕様

技術仕様

コンテナアーキテクチャ属性付きのデータをGroups(フォルダー)とDatasets(多次元配列)に整理する、階層型ファイルシステム風バイナリコンテナ
圧縮チャンクベースの圧縮フィルター:Gzip(Deflate)、SZIP、Zstandard、Blosc、LZF
バイトエンディアンスーパーブロックで指定(リトルエンディアンまたはビッグエンディアン)
色空間該当なし(多次元数値配列)
チャンネルと構造高次元の科学データ配列、複合データ型、可変長文字列
最大寸法実質的に制限なし(64ビット座標とペタバイト規模のデータセットに対応)
透過性なし
ストリーミングとプログレッシブチャンク分割ストレージにより、データセット全体をメモリに読み込まずにハイパースラブの一部を切り出し可能

技術比較表: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.app HDF5ツールを使用してデータセットを復旧してください。

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

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

既知の攻撃ベクター

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

防御的ベストプラクティス: 制限されたメモリを持つサンドボックス化されたWebAssemblyエンジンを使用して、信頼されていないHDF5ファイルを処理します。

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

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

主なメリット

  • 1つのファイル内にファイルシステムを構築し、複雑な数ペタバイト規模のデータセットを、ディレクトリのような名前付きグループとデータセットに整理できます。
  • 高性能なハイパースラブ読み出しにより、100GBの巨大な5次元行列からファイル全体を読み込まずに小さな2次元スライスを取得できます。
  • 科学技術分野で使われるPython(h5py)、MATLAB、R、および高性能なMPI並列スーパーコンピューターと密接に連携します。

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

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

興味深い技術トリビア

  • HDF5のシグネチャは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ファイル内のグループ、データセット、メタデータを検査できます。