hdf5の代替


15

私は何年もHDF5を使用していますが、データセットのサイズが大きくなるにつれて、ここにリストされているのと同じ問題を経験し始めています。

http://cyrille.rossant.net/moving-away-hdf5/

HDF5のようなフォーマットを指定してください-並列書き込みの良好なサポート-巨大なマトリックスのチャンクアクセスのサポート

私の典型的な使用例は、100k x 100k整数行列です。論理的な観点からファイル全体として保持したいのですが、並列ワーカーでチャンクごとに書き込む必要があります。


3
エクスポートする必要があるデータセットの種類を説明してください。これは、あなたの質問に答えようとしている人々に役立つかもしれません。netcfdと同様にHDF5を検討しました。ただし、これらは特定のデータセットにより適している場合があります。
チャールズ

2
圧縮VTKはチャンクをサポートします。多数のファイルを並行して保存し、PVDメタファイルを使用してそれらをマージできます。データセットのサイズは?
クレジストフBzowski

編集後-VTKのチャンクは良い決定ではありません。
クレジストフBzowski

何を使いましたか?
aidan.plenert.macdonald

@ aidan.penert.macdonald hdf5を使い、MPIで並列書き込みを使用しました。しかし、Pythonを放棄しなければなりませんでした
-MG

回答:


6

HDF5は、ある程度、それ自体がファイルシステムです。Bツリーを導入し、ブロックを管理する方法により、ファイルシステムの機能を複製します。コードを実行しているときは、実績のあるスケーラブルなファイルシステムを備えたオペレーティングシステムで実行している可能性があります。したがって、生ファイルアクセスまたはMPI-IOを使用して数値生データを単一のファイルに書き込み、メタデータ(エンディアン、サイズ、属性など)を別のJSONファイルまたはXMLファイルに書き込むことをお勧めします。複数のデータセットがある場合、それらをディレクトリまたはディレクトリの階層に整理できます。データセットを配布する場合は、ZIPファイルにパックするだけです。

唯一の欠点は、エンディアンに自分で対処しなければならないことですが、これは難しくありません

これを行う方法のインスピレーションについては、Dragly、et。al。「A.実験的ディレクトリ構造(Exdir):新しいファイル形式を導入しないHDF5の代替」フロント。Neuroinform。、2018、12

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.