R Language
E / A für Datenbanktabellen
Suche…
Bemerkungen
Daten aus MySQL-Datenbanken lesen
Allgemeines
Mit dem Paket RMySQL können Sie MySQL- und MariaDB-Datenbanken einfach abfragen und das Ergebnis in einem R-Datenrahmen speichern:
library(RMySQL)
mydb <- dbConnect(MySQL(), user='user', password='password', dbname='dbname',host='127.0.0.1')
queryString <- "SELECT * FROM table1 t1 JOIN table2 t2 on t1.id=t2.id"
query <- dbSendQuery(mydb, queryString)
data <- fetch(query, n=-1) # n=-1 to return all results
Grenzen verwenden
Es ist auch möglich, ein Limit festzulegen, z. B. nur die ersten 100.000 Zeilen. Ändern Sie dazu einfach die SQL-Abfrage hinsichtlich des gewünschten Grenzwerts. Das erwähnte Paket wird diese Optionen berücksichtigen. Beispiel:
queryString <- "SELECT * FROM table1 limit 100000"
Daten aus MongoDB-Datenbanken lesen
Um Daten aus einer MongoDB-Datenbank in einen R-Datenrahmen zu laden, verwenden Sie die Bibliothek MongoLite :
# Use MongoLite library:
#install.packages("mongolite")
library(jsonlite)
library(mongolite)
# Connect to the database and the desired collection as root:
db <- mongo(collection = "Tweets", db = "TweetCollector", url = "mongodb://USERNAME:PASSWORD@HOSTNAME")
# Read the desired documents i.e. Tweets inside one dataframe:
documents <- db$find(limit = 100000, skip = 0, fields = '{ "_id" : false, "Text" : true }')
Der Code stellt eine Verbindung zum Server HOSTNAME
als USERNAME
mit PASSWORD
, versucht, die Datenbank TweetCollector
zu öffnen und die Sammlungs- Tweets
lesen. Die Abfrage versucht, das Feld bzw. die Spalte Text
zu lesen.
Das Ergebnis ist ein Datenrahmen mit Spalten als Ergebnisdatensatz. In diesem Beispiel enthält der Datenrahmen die Spalte Text
, z. B. documents$Text
.