Alternatif untuk hdf5

15

Saya telah menggunakan HDF5 selama bertahun-tahun, tetapi seiring dengan bertambahnya ukuran dataset, saya mulai mengalami masalah yang sama seperti yang tercantum di sini

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

Bisakah Anda mengarahkan saya ke format seperti HDF5 dengan - Dukungan yang baik untuk penulisan paralel - Dukungan untuk akses chunked dari matriks besar

Kasus penggunaan khas saya adalah matriks integer 100k x 100k. Saya ingin memilikinya sebagai keseluruhan file dari perspektif logis, tetapi saya harus menulisnya sepotong demi sepotong dengan pekerja paralel.

MG
sumber
3
Bisakah Anda jelaskan jenis dataset apa yang perlu Anda ekspor? Ini mungkin bermanfaat bagi orang yang ingin menjawab pertanyaan Anda. Saya telah mempertimbangkan HDF5 dan juga netcfd. Tetapi ini mungkin lebih diarahkan untuk set data tertentu.
Charles
2
VTK yang dikompresi mendukung bongkahan. Anda dapat menyimpan banyak file paralel dan menggabungkannya menggunakan file meta PVD. Berapa ukuran dataset Anda?
Krzysztof Bzowski
Setelah diedit - VTK yang dipenggal bukanlah keputusan yang baik.
Krzysztof Bzowski
Apa yang akhirnya Anda gunakan?
aidan.plenert.macdonald
@ aidan.penert.macdonald Saya tetap menggunakan hdf5, menggunakan penulisan paralel dengan MPI. Tapi saya harus meninggalkan Python
MG

Jawaban:

6

HDF5, pada tingkat tertentu, adalah sistem file sendiri. Dengan memperkenalkan B-Trees dan dengan cara mengelola blok, ia menggandakan fungsionalitas sistem file. Ketika Anda menjalankan kode Anda, Anda mungkin menjalankannya pada sistem operasi dengan sistem file yang terbukti dan scalable. Oleh karena itu, saya akan menyarankan untuk menulis data mentah numerik Anda ke dalam satu file menggunakan akses file mentah atau MPI-IO dan menulis meta-data (endianess, ukuran, atribut, dll.) Ke dalam file JSON atau XML yang terpisah. Jika Anda memiliki beberapa kumpulan data, Anda dapat mengaturnya ke dalam direktori atau hierarki direktori. Saat Anda ingin mendistribusikan dataset, Anda hanya perlu mengemasnya ke file ZIP.

Satu-satunya downside adalah bahwa Anda harus berurusan dengan Endianness sendiri, yang, bagaimanapun, tidak sulit .

Untuk inspirasi tentang bagaimana hal ini dapat dilakukan lihat Dragly, et. Al. "A. Struktur Direktori Eksperimental (Exdir): Sebuah Alternatif untuk HDF5 Tanpa Memperkenalkan Format File Baru" Depan. Bentuk Neuroin., 2018, 12 .

H. Rittich
sumber