Importe o despejo do MySQL para o R (sem a necessidade de servidor MySQL)
Pacotes comoRMySQL
esqldf
permitir que um faça interface com servidores de banco de dados local ou remoto. Estou criando um projeto portátil que envolve a importação de dados sql em casos (ou em dispositivos) que nem sempre têm acesso a um servidor em execução, mas queFaz sempre tenha acesso ao despejo .sql mais recente do banco de dados.
O objetivo parece bastante simples: importar um dump .sql para o R sem o envolvimento de um servidor MySQL. Mais especificamente, gostaria de criar uma lista de listas nas quais os elementos correspondam a qualquer banco de dados definido no dump .sql (pode haver vários) e esses elementos, por sua vez, consistem nas tabelas desses bancos de dados.
Para tornar isso reproduzível, vamos pegar o arquivo SQL sportsdb de exemploaqui - se você descompactá-lo, chama-se sportsdb_sample_mysql_20080303.sql.
Alguém poderia pensar que o sqldf poderia fazê-lo:
read.csv.sql('sportsdb_sample_mysql_20080303.sql', sql="SELECT * FROM addresses") Error in sqliteSendQuery(con, statement, bind.data) : error in statement: no such table: addresses
Isso mesmo que certamente exista uma tabela de endereços no despejo.Esta postagem na lista sqldf menciona o mesmo erro, mas não há solução.
Então há umsql.reader
função no pacoteProjectTemplate
, o que parece promissor. Procurando, a fonte para a função pode ser encontradaaquie assume um servidor de banco de dados em execução e depende deRMySQL
- não é o que eu preciso.
Então ... parece que estamos ficando sem opções. Qualquer ajuda do hivemind apreciada!
(Para reiterar, eu sounão procurando uma solução que dependa do acesso a um servidor SQL; isso é fácil comdbReadTable
deRMySQL
pacote. Gostaria muito de ignorar o servidor e obter os dados diretamente do arquivo de despejo .sql.)