Sök…


Anmärkningar

Specialiserade paket

Läsa data från MySQL-databaser

Allmän

Med hjälp av paketet RMySQL kan vi enkelt fråga både MySQL och MariaDB-databaser och lagra resultatet i ett R dataframe:

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

Använd gränser

Det är också möjligt att definiera en gräns, t.ex. få bara de första 100 000 raderna. För att göra det, ändra bara SQL-frågan angående önskad gräns. Det nämnda paketet kommer att överväga dessa alternativ. Exempel:

queryString <- "SELECT * FROM table1 limit 100000"

Läsa data från MongoDB-databaser

För att ladda data från en MongoDB-databas till en R-dataframe använder du biblioteket 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 }')

Koden ansluts till servern HOSTNAME som USERNAME med PASSWORD , försöker öppna databasen TweetCollector och läsa samlingens Tweets . De fråge försöker läsa fältet, dvs kolumnen Text .

Resultaten är ett dataram med kolumner som den avgivna datauppsättningen. I fallet med detta exempel innehåller dataframe kolumnen Text , t.ex. documents$Text .



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow