元データ分析の会社で働いていた人の四方山話スマートフォン用の表示で見る元データ分析の会社で働いていた人の四方山話この広告は、90日以上更新していないブログに表示しています。MongoDB最近、割と大きめなデータをRで扱う際に、どのようなソリューションがいいか色々と考えています。ここでのソリューションは並列計算云々という観点ではなく、大きめのデータから必要なデータをさっくりと用意して、解析フェーズに簡単に入っていくために、という観点です。1つは有名すぎるbigmemoryというソリューションがあって、これは今後浸透していくんだろうなぁとは思いつつ、bigmemoryではデータ型がbig.matrixという特殊なものになってしまうので、既存のMatrixやdata.frameを使ったパッケージの関数が使えなくなってしまう*1という点が微妙だなぁと思っています。driverができたとかいうtweetを見かけました。MongoDBはかなり柔軟に色々できますし、何より今アツいトピックの1つですので、試すっきゃないですよね。結論から言うと、かなり簡単に環境を作れる上に、色々と柔軟に解析基盤を構築できそうでいい感じだなぁと思っています。MongoDBhttp://www.mongodb.org/display/DOCS/Quickstartを見ながら進めれば非常に簡単です。今回の本題ではないので割愛rmongodbのインストールgithub上にコードが上がっていますのでとってきます。rmongodbとしてもエラーがでます。bson.hがないとか、そんな感じで怒られます。心を鎮めてドキュメントを読みましょう。README.mdにインストール手順が書いてありますので、それに従います。GitHubからmongo-c-driverを落として来ます。https://github.com/mongodb/mongo-c-driver/tree/master/src次に落として来たソースコードrmongodbのディレクトリに突っ込みます。ここで一点落とし穴があります。mongo-c-driverのsrc"ディレクトリ"をrmongodb/romongodb/srcに突っ込め、と書いてありますが、実際はmongo-c-driverのsrcディレクトリ"以下のファイル一式"をrmonogodb/rmonogodb/srcに突っ込みます。src以下にsrcディレクトリできるとかきたねーと思っていましたが、やっぱり違いました。rmongodbこれで、うまくインストールされました。ーrmongodbを使ってみるまずはおもむろにMongoDBを起動します。/path/to/monogo-bin/mongodこの状態でRを起動します。library(rmongodb)おー、rmonogodbが無事に読み込まれます。この後どうすればよいかわからないので、おもむろにhelp(monogo)と叩くと、例が表示されます。b)}これはMongoDBへデータの挿入を行っています。b)}mongo.find()やmongo.find.one()を利用します。help(mongo.find)help(mongo.find.one)で例が確認できます。mongo.find.one()を使って、先ほどinsertしたデータを取得してみます。22こんな感じでデータが取得できます。所感MongoDBは個人的に注目のトピックでけっこう気になっていたのですが、なかなか触る機会が作れていませんでした。Rは非常に便利な言語なのですが、データ量が大きくなってきたときに、既に出力されているデータファイルを読み込んで任意のレコードを取得・結合・・・みたいなことをするのがちょっとめんどくさいなぁという感じでしたので、mongodbを気軽に使えるというのは非常にいい感じだと思いました。インストール手順(Cのドライバを全部突っ込む)や、rmongodbのドキュメントを読んでいると、どうやらCのAPIをRから叩くようになっているため、非常に多くの関数が提供されています。MongoDB自体を簡単に操作できるために、非常に柔軟にいろいろな事ができるような気がしました。いう感じでRから気軽にNoSQLが扱えるのは今後非常に有益だなーと思います。query))こういう書き方、冗長だしなんか気持悪いなぁと思っていたらリストを使って以下のように書けるみたいです。MongoDBTweet広告を非表示にする関連記事2011-04-10MacにHadoop環境を整えるmongoDBの勉強会でMapReduceの話が出てましたし、やはりHadoop...2011-04-09地に身を潜め続けていた昨年と違い、今年はガンガン外に出ていきたいと思います。Entriesはてなブログをはじめよう!rindai87さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。