Todos os dias tenho um arquivo CSV gerado por um script. Tem duas colunas. A coluna 1 é um nome, a coluna 2 é o tamanho de sua caixa de correio.
Tenho um ano desses arquivos. Gostaria de poder importá-los para um banco de dados (temos SQL interno, ou posso instalar o MySQL ou qualquer outra coisa)
Quero poder ver os padrões de crescimento desses usuários ao longo do tempo. Relatórios básicos, que é outro problema que resolverei posteriormente. Por enquanto, quero apenas os dados em um banco de dados em vez de centenas de arquivos simples.
Que tipo de DB é bom para isso? Simples é melhor. Eu não sou um cara DB. O que você faria? Este é principalmente um projeto de aprendizado para mim.
Há algum tempo, escrevi algumas postagens no blog sobre o carregamento de arquivos de log no SQLite para análise. Este é um banco de dados incrivelmente fácil de usar, administração zero, ligações para qualquer idioma que você possa imaginar (por exemplo , Python e Tcl/Tk , bem como os exóticos como OCaml) suporta um subconjunto decente de SQL para relatórios complexos e pode lidar com conjuntos de dados surpreendentemente grandes (milhões de linhas). Você não diz em qual sistema operacional está, mas no Linux é apenas um ou um de distância. Eu definitivamente escolheria MySQL para esse tipo de trabalho .
yum
apt-get
Se você já tiver uma caixa SQL Server em seu lugar, poderá importar os arquivos usando pacotes SSIS. SSIS = SQL Server Integration Services, a principal ferramenta do SQL Server para carregamento de dados.
Um bom tutorial inicial para pacotes SSIS pode ser encontrado em SQLServerCentral: Stairways on Integration Services and SSIS Automation . No MSDN, você pode encontrar informações do SSIS aqui .
Outro tutorial do SSIS com laboratório prático e vídeo você encontra em MSDN - Introduction to Integration Services .
Eu uso o Pentaho Data Integration para carregar uma grande quantidade de arquivos de texto como esse.
Se você estiver usando o MS Sql Server, provavelmente terá acesso ao SSIS. Usando expressões regulares, você poderá carregar todos os arquivos de uma pasta como se fosse um arquivo muito grande.