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.
Jawaban:
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 .
sumber