R Language
I / O per tabelle di database
Ricerca…
Osservazioni
Lettura dei dati dai database MySQL
Generale
Usando il pacchetto RMySQL possiamo facilmente interrogare MySQL e database MariaDB e memorizzare il risultato in un dataframe R:
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
Usando i limiti
È anche possibile definire un limite, ad esempio ottenendo solo le prime 100.000 righe. Per fare ciò, basta cambiare la query SQL per quanto riguarda il limite desiderato. Il pacchetto menzionato prenderà in considerazione queste opzioni. Esempio:
queryString <- "SELECT * FROM table1 limit 100000"
Lettura dei dati dai database MongoDB
Per caricare i dati da un database MongoDB in un dataframe R, utilizzare la libreria 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 }')
Il codice si connette al server HOSTNAME
come USERNAME
con PASSWORD
, tenta di aprire il database TweetCollector
e di leggere la raccolta Tweets
. La query tenta di leggere il campo, ad esempio la colonna Text
.
Il risultato è un dataframe con colonne come set di dati ottenuti. Nel caso di questo esempio, il dataframe contiene la colonna Text
, ad esempio documents$Text
.