MySQL-Dump in R importieren (ohne dass ein MySQL-Server erforderlich ist)
Pakete wieRMySQL
undsqldf
Ermöglicht die Verbindung mit lokalen oder entfernten Datenbankservern. Ich erstelle ein portierbares Projekt, bei dem SQL-Daten in Fällen (oder auf Geräten) importiert werden, die nicht immer Zugriff auf einen laufenden Server haben, die abertu haben immer Zugriff auf den neuesten .sql-Dump der Datenbank.
Das Ziel scheint einfach zu sein: Importieren Sie einen .sql-Dump in R, ohne dass ein MySQL-Server beteiligt ist. Genauer gesagt, ich möchte eine Liste von Listen erstellen, in denen die Elemente den im .sql-Dump definierten Datenbanken entsprechen (es können mehrere vorhanden sein), und diese Elemente wiederum bestehen aus den Tabellen in diesen Datenbanken.
Um dies reproduzierbar zu machen, nehmen wir die Beispiel-SQL-Datei sportsdbHie - Wenn Sie es entpacken, heißt es sportsdb_sample_mysql_20080303.sql.
One würde denken, sqldf könnte das schaffen:
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
Dies obwohl es sicherlich eine Tabelle mit Adressen im Dump gibt.Dieser Beitra auf der sqldf-Liste erwähnt den gleichen Fehler, aber keine Lösung.
Dann gibt es einsql.reader
Funktion im PaketProjectTemplate
, das sieht vielversprechend aus. Durch Stöbern kann die Quelle für die Funktion gefunden werdenHie, und es setzt einen laufenden Datenbankserver voraus und stützt sich aufRMySQL
- nicht was ich brauche.
So ... wir scheinen keine Optionen mehr zu haben. Jede Hilfe von den Hivemind geschätzt!
(Um es noch einmal zu wiederholen, ich binnich auf der Suche nach einer Lösung, die auf den Zugriff auf einen SQL-Server angewiesen ist; das geht ganz einfach mitdbReadTable
von demRMySQL
package. Ich würde sehr gerne den Server umgehen und die Daten direkt aus der .sql-Dump-Datei erhalten.)