Importe el volcado de MySQL a R (sin requerir el servidor MySQL)
Paquetes comoRMySQL
ysqldf
permitir que uno interactúe con servidores de bases de datos locales o remotos. Estoy creando un proyecto portátil que implica importar datos SQL en casos (o en dispositivos) que no siempre tienen acceso a un servidor en ejecución, pero quehacer siempre tenga acceso al último volcado .sql de la base de datos.
El objetivo parece bastante simple: importar un volcado .sql en R sin la participación de un servidor MySQL. Más específicamente, me gustaría crear una lista de listas en las que los elementos corresponden a cualquier base de datos definida en el volcado .sql (puede haber varios), y esos elementos a su vez consisten en las tablas en esas bases de datos.
Para hacer que esto sea reproducible, tomemos el archivo SQL de sportsdb de muestraaquí - si lo descomprimes se llama sportsdb_sample_mysql_20080303.sql.
Uno pensaría que sqldf podría hacerlo:
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
Esto a pesar de que ciertamente hay una tabla de direcciones en el volcado.Esta publicación en la lista sqldf menciona el mismo error, pero no hay solución.
Entonces hay unsql.reader
funcionar en el paqueteProjectTemplate
, lo que parece prometedor. Hurgando, la fuente de la función se puede encontraraquí, y asume un servidor de base de datos en ejecución y se basa enRMySQL
No es lo que necesito.
Entonces ... parece que nos estamos quedando sin opciones. Cualquier ayuda de la colmena apreciada!
(Para reiterar, soyno buscando una solución que se base en el acceso a un servidor SQL; eso es fácil condbReadTable
desde elRMySQL
paquete. Me gustaría mucho omitir el servidor y obtener los datos directamente del archivo de volcado .sql).