ทางเลือกแทน hdf5


16

ฉันใช้ HDF5 มาหลายปีแล้ว แต่เมื่อขนาดของชุดข้อมูลเพิ่มขึ้นฉันก็เริ่มพบปัญหาเดียวกันกับที่ระบุไว้ที่นี่

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

คุณสามารถชี้ให้ฉันเป็นรูปแบบเช่น HDF5 ด้วย - การสนับสนุนที่ดีสำหรับการเขียนแบบขนาน - สนับสนุนการเข้าถึงเมทริกซ์ขนาดใหญ่แบบ chunked

กรณีใช้งานทั่วไปของฉันคือเมทริกซ์จำนวนเต็ม 100k x 100k ฉันต้องการที่จะให้มันเป็นไฟล์ทั้งหมดจากมุมมองเชิงตรรกะ แต่ฉันต้องเขียนมันด้วยการทำงานกับคนทำงานคู่ขนาน


3
คุณช่วยอธิบายชุดข้อมูลที่คุณต้องการส่งออกได้ไหม สิ่งนี้อาจเป็นประโยชน์กับผู้ที่ต้องการตอบคำถามของคุณ ฉันถือว่า HDF5 และ netcfd แล้ว แต่สิ่งเหล่านี้อาจเหมาะกับชุดข้อมูลบางอย่างมากขึ้น
ชาร์ลส์

2
บีบอัด VTK รองรับชิ้น คุณสามารถบันทึกไฟล์จำนวนมากแบบขนานและรวมเข้าด้วยกันโดยใช้เมตาดาต้า PVD ชุดข้อมูลของคุณมีขนาดเท่าใด
Krzysztof Bzowski

หลังจากการแก้ไข VTK ของคุณไม่ใช่การตัดสินใจที่ดี
Krzysztof Bzowski

คุณใช้อะไรลงไป
aidan.plenert.macdonald

@ aidan.penert.macdonald ฉันเก็บไว้กับ hdf5 โดยใช้การเขียนแบบขนานกับ MPI แต่ฉันต้องละทิ้ง Python
MG

คำตอบ:


7

HDF5 คือบางส่วนระบบไฟล์ด้วยตัวเอง โดยการแนะนำ B-Trees และวิธีการจัดการบล็อกมันจะทำซ้ำการทำงานของระบบไฟล์ เมื่อคุณเรียกใช้รหัสของคุณคุณอาจเรียกใช้บนระบบปฏิบัติการที่มีระบบไฟล์ที่พิสูจน์แล้วและปรับขนาดได้ ดังนั้นฉันขอแนะนำให้เขียนข้อมูลดิบที่เป็นตัวเลขของคุณลงในไฟล์เดียวโดยใช้การเข้าถึงไฟล์ raw หรือ MPI-IO และเขียน meta-data (endianess, ขนาด, คุณสมบัติ ฯลฯ ) ลงในไฟล์ JSON หรือ XML แยกต่างหาก หากคุณมีชุดข้อมูลหลายชุดคุณสามารถจัดระเบียบชุดข้อมูลเหล่านั้นลงในไดเรกทอรีหรือลำดับชั้นของไดเรกทอรี เมื่อคุณต้องการกระจายชุดข้อมูลคุณเพียงแค่ต้องแพ็คลงในไฟล์ ZIP

ข้อเสียเพียงอย่างเดียวคือคุณต้องจัดการกับendiannessตัวเองซึ่งเป็นอย่างไรไม่ยาก

สำหรับแรงบันดาลใจเกี่ยวกับวิธีการนี้สามารถทำได้ดูDragly, et อัล "A. โครงสร้างไดเรกทอรีทดลอง (Exdir): ทางเลือกสำหรับ HDF5 โดยไม่ต้องเปิดหน้ารูปแบบไฟล์ใหม่" Neuroinform. 2018 12

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.