0

ちょっとStackoverflow通信、

cassandraデータベースに書き込もうとしていますが、問題が発生しています。一部のデータ:Ubuntu(11.04)でPython 2.7、cassandra 0.8.4、lazyboy0.7.5を使用しています。カサンドラに書きたいと思っている間に

Traceback (most recent call last):
File "/home/kq/protoWorkspace/indexer/src/database.py", line 40, in <module>
w.save()
File "/usr/local/lib/python2.7/dist-packages/Lazyboy-0.7.5-py2.7.egg/lazyboy/record.py",         
line 202, in save
self._save_internal(self.key, changes, consistency)
File "/usr/local/lib/python2.7/dist-packages/Lazyboy-0.7.5-py2.7.egg/lazyboy/record.py",         
line 236, in _save_internal
key, changes['changed'], consistency))
File "/usr/local/lib/python2.7/dist-packages/Lazyboy-0.7.5-py2.7.egg/lazyboy/connection.py", line 53, in __inner__
raise ex

AttributeError: 'Client' object has no attribute 'batch_insert'

これは私の実際の情報源です:

from lazyboy import *
from lazyboy.key import Key

connection.add_pool('indexer', ['localhost:9160'])

class Indexx(Key):
    def __init__(self, *args, **kwargs):
        Key.__init__(self, "indexer", "indexx", key)

class Word(record.Record):
    _required = ('word', 'docID', 'count',)

    def __init__(self, *args, **kwargs):
        record.Record.__init__(self, *args, **kwargs)
        self.key = Indexx()

w = Word()

print w.key

data = {'word'  : 'test',
        'docID' : 'docId-TEST',
        'count' : 42}

w.update(data)
w.update(data.items())
w.update(**data)
for k in data:
    w[k] = data[k]

w_ = Word(data)
print w_

print w.is_modified()
w.save()

何かアイデア、私が間違っていることは何ですか?:)

4

1 に答える 1

2

メインラインのレイジーボーイはカサンドラ0.6のみをサポートしています。代わりにpycassaを使用することをお勧めします。PycassaはDataStaxによって保守されており、最新のCassandra機能を完全にサポートしています。

lazyboyを使用する必要がある場合は、Cassandra 0.7(0.8と互換性があります)をサポートするフォークがありますが、開発はあまり活発に見えません(5月の最終更新)。

于 2011-09-20T13:53:54.887 に答える