preparando grandes conjuntos de dados para análise [closed]

0

Eu tenho um programa de fortran que simula um monte de saída de arquivo de texto ascii. Estes são bastante grandes para carregar a totalidade de um único arquivo em programas comuns de análise de dados (Matlab, R, SciPy).

Acho que uma coisa comum na comunidade de computação científica é extrair um subconjunto desses dados usando Fortran, C, Perl ou Python e armazená-los em um arquivo de texto plano separado ou netCDF (e mais recentemente, HDF5) para ser usado por outro programa. No entanto, programas como R são muito bem adaptados para extrair dados de um banco de dados SQL, caso em que a saída - > SQLDB - > R parece ser uma boa solução (e provavelmente SciPy também).

Alguém tem uma opinião sobre isso? Primeiro de tudo, criar um arquivo intermediário separado é unideal (parece um uso redundante de espaço em disco), mas inevitável? Além disso - eu não vi bancos de dados SQL muito usados na comunidade de computação científica, mas o SQLite parece tão receptivo à transferência de dados entre programas quanto o HDF5, ou há desvantagens? Obrigado pelos seus comentários.

    
por hatmatrix 15.10.2011 / 11:24

1 resposta

1

Depende de como você vai fatiar seus dados grandes. Se seus dados são uma tabela N-dimensional, então netCDF é uma boa idéia (especialmente se os seus dados 3D) se você está tomando fatias em suas três dimensões. Não é tão bom para consultas como obter todos os valores de Z1 onde Z2 é maior que Z3. Então você provavelmente quer um banco de dados relacional e certifique-se de definir alguns índices corretamente. O SQLite é uma boa maneira portátil de fazer isso, e há interfaces para pelo menos o R e o Python.

    
por 15.10.2011 / 13:53