R Language
We / Wy dla tabel bazy danych
Szukaj…
Uwagi
Odczytywanie danych z baz danych MySQL
Generał
Za pomocą pakietu RMySQL możemy łatwo wyszukiwać w MySQL oraz w bazach danych MariaDB i przechowywać wynik w ramce danych 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
Korzystanie z limitów
Możliwe jest również zdefiniowanie limitu, np. Uzyskanie tylko pierwszych 100 000 wierszy. W tym celu wystarczy zmienić zapytanie SQL dotyczące żądanego limitu. Wspomniany pakiet rozważy te opcje. Przykład:
queryString <- "SELECT * FROM table1 limit 100000"
Odczytywanie danych z baz danych MongoDB
Aby załadować dane z bazy danych MongoDB do ramki danych R, użyj biblioteki 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 }')
Kod łączy się z serwerem HOSTNAME
jako USERNAME
pomocą PASSWORD
, próbuje otworzyć bazę danych TweetCollector
i przeczytać kolekcję Tweets
. Zapytanie próbuje odczytać pole, tj. Kolumnę Text
.
Wynikiem jest ramka danych z kolumnami jako uzyskany zestaw danych. W przypadku tego przykładu ramka danych zawiera kolumnę Text
, np. documents$Text
.