Alternativas ao hdf5


15

Uso o HDF5 há anos, mas à medida que o tamanho do conjunto de dados aumenta, estou começando a ter os mesmos problemas listados aqui

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

Você pode me apontar para um formato como HDF5 com - Bom suporte para gravações paralelas - Suporte para acesso em blocos de grandes matrizes

Meu caso de uso típico é uma matriz inteira de 100k x 100k. Gostaria de tê-lo como um arquivo inteiro de uma perspectiva lógica, mas preciso escrevê-lo pedaço por pedaço com trabalhadores paralelos.


3
Você pode explicar quais tipos de conjuntos de dados você precisa exportar? Isso pode ser útil para pessoas que desejam responder à sua pergunta. Eu considerei o HDF5 e também o netcfd. Mas isso pode ser mais voltado para determinados conjuntos de dados.
Charles

2
O VTK compactado suporta blocos. Você pode salvar muitos arquivos paralelos e mesclá-los usando o metarquivo PVD. Qual é o tamanho do seu conjunto de dados?
Krzysztof Bzowski 15/10

Após suas edições, o VTK em partes não é uma boa decisão.
Krzysztof Bzowski 15/10

O que você acabou usando?
Aidan.plenert.macdonald

@ aidan.penert.macdonald Continuei com o hdf5, usando gravações paralelas com o MPI. Mas tive que abandonar o Python
MG

Respostas:


6

O HDF5 é, até certo ponto, um sistema de arquivos por si só. Ao introduzir B-Trees e pela maneira como gerencia os blocos, ele duplica a funcionalidade de um sistema de arquivos. Quando você está executando seu código, provavelmente o está executando em um sistema operacional com um sistema de arquivos comprovado e escalável. Portanto, sugiro que você grave seus dados numéricos em um único arquivo usando o acesso a arquivos brutos ou MPI-IO e grave os metadados (endianess, tamanho, atributos etc.) em um arquivo JSON ou XML separado. Se você tiver vários conjuntos de dados, poderá organizá-los em um diretório ou hierarquia de diretórios. Quando você deseja distribuir o conjunto de dados, basta compactá-lo em um arquivo ZIP.

A única desvantagem é que você deve lidar com o Endianness , o que, no entanto, não é difícil .

Para uma inspiração sobre como isso pode ser feito, consulte Dragly, et. al. "A. Estrutura experimental de diretórios (Exdir): uma alternativa ao HDF5 sem a introdução de um novo formato de arquivo" Front. Neuroinform., 2018, 12 .

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.