Forma Eficiente de abrir arquivos de texto Grandes!

6 respostas
W

Galera alguém sabe formas eficientes de abrir arquivos de texto, arquivos grandes com mais de 2Gb? eu tava pensando no Jython, mais estou aberto a novas ideias, estou precisando muito pesquisar sobre isso, agradeço desde já!

6 Respostas

D

2GB de texto? Melhor nem perguntar o que tem nesse arquivo :smiley:
Por que você precisa abrir esse arquivo? O que quer fazer?

E

O que você quer fazer com esse arquivo grande?

a) Você quer transformar um arquivo em outro (por exemplo, analisar um arquivo CNAB e transformá-lo em um arquivo CSV próprio para importar em uma base SQL
b) Você quer fazer aquelas coisas que um programa AWK ou Python fariam melhor e mais eficientemente
c) Não sei, só que o chefe só jogou isso no ar e não disse mais nada

W

Na verdade, quero ler o arquivo que vai ser gerado apartir de um[b] sequenciamento de DNA/b, que por sua vez gera milões de pares de base de DNA(TACGAGCTTCGA), então o meu programa tem que ler esse arquivo txt com o máximo de eficiencia, pois existem programas que fazem isso, mais fazem a leitura em 10h ou até mais, então quero uma linguagem de programação que faça essa leitura com mais velocidade!

E

Ah, certo.
O seu problema não é ler o arquivo (dá para ler um arquivo de 2 GB que está em disco, sem processá-lo, em 3 minutos) mas ter um algoritmo decente para processar esses 2GB de dados.
Aí você tem de consultar seu professor para lhe indicar qual é a estrutura de dados e o algoritmo mais adequado para seu caso.
Dependendo do algoritmo, eu não consideraria Java, por exemplo.

E

ler um txt de 2GB você gastaria, somente ler, uns 10 min (ler sem fazer nada). Vai carregar num banco de dados?

E

Pelo que ele disse, ele precisa resolver alguns problemas de sequenciamento de DNA, tais como este professor costuma resolver:

http://www2.cs.uic.edu/~dasgupta/

Um exemplo de algoritmos que usualmente são necessários para tratar esses problemas:

Criado 23 de novembro de 2011
Ultima resposta 23 de nov. de 2011
Respostas 6
Participantes 4