以下を使用して、mongodb から r にデータをインポートしようとしました。
mongo.find.all(mongo, namespace, query=query,
fields= list('_id'= 0, 'entityEventName'= 1, context= 1, 'startTime'=1 ), data.frame= T)
このコマンドは小さなデータ セットに対しては機能しますが、1,000,000 個のドキュメントをインポートしたいと考えています。
system.time を使用し、コマンドに limit= X を追加して、インポートするデータの関数として時間を測定します。
system.time(mongo.find.all(mongo, namespace, query=query ,
fields= list('_id'= 0, 'entityEventName'= 1, context= 1, 'startTime'=1 ),
limit= 10000, data.frame= T))
結果:
Data Size Time
1 0.02
100 0.29
1000 2.51
5000 16.47
10000 20.41
50000 193.36
100000 743.74
200000 2828.33
データをプロットした後、私は次のことを信じています: インポート時間 = f( Data^2 )
時間 = -138.3643 + 0.0067807*データ サイズ + 6.773e-8*(データ サイズ-45762.6)^2
R^2 = 0.999997
- 私は正しいですか?
- もっと速いコマンドはありますか?
ありがとう!