サーチ…


備考

専門パッケージ

MySQLデータベースからのデータの読み取り

一般

パッケージRMyを使用すると、MariaDBデータベースだけでなくMySQLにも簡単にクエリを実行し、その結果を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

制限を使う

たとえば、最初の100,000行だけを取得するなど、制限を定義することもできます。これを行うには、目的の制限に関するSQLクエリを変更するだけです。上記のパッケージは、これらのオプションを検討します。例:

queryString <- "SELECT * FROM table1 limit 100000"

MongoDBデータベースからのデータの読み込み

MongoDBデータベースからRデータフレームにデータをロードするには、ライブラリ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 }')

コードはPASSWORD USERNAMEというサーバーのHOSTNAME接続し、データベースTweetCollectorを開き、コレクションのTweetsを読み込みます。クエリは、フィールド、つまりText列を読み込もうとします。

結果は、生成されたデータセットとしての列を持つデータフレームです。この例の場合、データフレームにはTextが含まれています(例: documents$Text



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow