R Language
E / S pour les tables de base de données
Recherche…
Remarques
Lecture de données à partir de bases de données MySQL
Général
En utilisant le package RMySQL, nous pouvons facilement interroger les bases de données MySQL ainsi que MariaDB et stocker le résultat dans un cadre de données 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
Utiliser des limites
Il est également possible de définir une limite, par exemple obtenir uniquement les 100 000 premières lignes. Pour ce faire, modifiez simplement la requête SQL en fonction de la limite souhaitée. Le paquet mentionné considérera ces options. Exemple:
queryString <- "SELECT * FROM table1 limit 100000"
Lecture de données à partir de bases de données MongoDB
Pour charger des données d'une base de données MongoDB dans un fichier de données R, utilisez la bibliothèque 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 }')
Le code se connecte au serveur HOSTNAME
tant que USERNAME
avec PASSWORD
, tente d'ouvrir la base de données TweetCollector
et de lire la collection Tweets
. La requête essaie de lire le champ, c'est-à-dire le Text
colonne.
Le résultat est un cadre de données avec des colonnes en tant que jeu de données généré. Dans le cas de cet exemple, le dataframe contient la colonne Text
, par exemple les documents$Text
.