kenkovlog

けんこふたんっオフィシャユブヨグッ
アンッ!アンッ!アンッ!アンッ!

Python でCouchDB を使う

CouchDB の基本は Couchdb wiki を見てください。

MapReduce とは

CouchDB はMapReduce を使います。

MapReduce
Google によって提案された分散処理アルゴリズム
Map 処理
データを元にkey, value の組を抽出する処理
Reduce 処理
Map 処理の結果のkey, value の組から欲しい結果を抽出する処理

Futon のview をpython で書く

/etc/couchdb/local.ini に次を書く。

[query_servers]
python=/usr/bin/couchpy

その後、couchdb を再起動する。

$ sudo /etc/rc.d/couchdb restart

Python スクリプトからCouchDB を使う

ここでは、例としてCouchDB にTwitter のjson データがはいっているとします。

その時、次のようにしてCouchDB のデータにPython からアクセスできます。

db = couchdb.Server('http://localhost:5984')
twitterdb = db['twitter']

for id in twitterdb:
    try:
        twi = twitterdb[id]
        tweet_id = twi['id']
        text = twi['text']
        created_at = twi['created_at']
        screen_name= twi['user']['screen_name']
        in_reply_to_status_id = twi['in_reply_to_status_id']
        in_reply_to_screen_name = twi['in_reply_to_screen_name']
        print twi, tweet_id, text, created_at, screen_name, in_reply_to_status_id, in_reply_to_screen_name

はじめの

for id in twitterdb:

で、id にCouchDB のデータの_id が入ります。あとは、ディクショナリで要素にアクセスします。

けんこふたん