
Sim, fazer SQLite via sqldf ou RSQLite ou o próprio sqlite3 na linha de comando dá o mesmo resultado final. A minha sugestão em usar o sqlite3 é que o overhead é bem menor, pois vc trabalha direto na fonte e vc consegue importar csv sem problemas. A solução em R é bonitinha, mas algumas vezes vc pode ter um ganho em fazer diretamente na ferramenta alvo (SQLite). On Wednesday, 17 October 2012, Fred wrote:
Em 17-10-2012 11:01, Benilton Carvalho escreveu:
Ok... Comentários específicos para suas perguntas:
1) experimente armazenar a saída do read.csv.sql numa variável... Ex
X = read.csv.sql(todos os seus argumentos)
Vc verá os warnings, são apenas mensagens de aviso, não erros.
Alternativamente, use o sqlite na linha de comando mesmo... E vc pode importar o seu csv diretamente daqui, sem necessitar do sqldf.
para regressões, use biglm
2) evite mexer com swap. Use isso apenas como ultimo recurso
3 para auxiliar no garbage collection, ao trabalhar com grandes volumes de dados, remova os objetos desnecessários e, em seguida, use gc(). O R não é mau o suficiente para manter em memória objetos que vc já removeu. Esse recurso é algo do seu sistema operacional, que mantém em cache objetos que vc usou recentemente, para que não precise carregar novamente qdo vc tentar trabalhar naqueles dados de novo. O gc() vai avisar ao sistema operacional que pode limpar a cache, etc etc etc.
4) na real, paralelismo não tem muito como te ajudar nessa tarefa.
b
On Wednesday, 17 October 2012, Roney Fraga wrote:
Muito obrigado a todos pelas contribuições, já tenho material para estudar algumas semanas.
Benilton, é 64 bit.
.Machine$sizeof.pointer [1] 8
Abraço Roney
_______________________________________________ R-br mailing listR-br@listas.c3sl.ufpr.br <javascript:_e({}, 'cvml', 'R-br@listas.c3sl.ufpr.br');>https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
A forma que encontrei de resolver o problema para se trabalhar com grande volumes de dados foi conectando a um banco de dados. No meu caso, estou usando o SQLite com o pacote sqldf.
Pelo menos no meu caso, o ganho de desempenho foi incrível, uma vez que não preciso mais ficar carregando dados, sem falar que a capacidade agora está na casa dos TB.
Saudações
-- Frederico Steinmetz Alvarez Engenheiro Eletricista e de Produção Mestrando em Engenharia Eólica
Laboratório Didático Pedagógico - Mecânica dos Fluidos LDP-FLU Grupo de Mecânica dos Fluidos Ambientais da UFPE Homepage ( www.ufpe.br/mecfluamb/ ) Universidade Federal de Pernambuco - UFPE Departamento de Engenharia Mecânica
Fones: (48) 9143-5141 (VIVO) (81) 8885-1105 (OI)