使用 pycassa 读取 Cassandra 1.2 表

2024-04-30

使用卡桑德拉 1.2。我按以下方式使用 CQL 3 创建了一个表:

CREATE TABLE foo (
    user text PRIMARY KEY,
    emails set<text>
);

现在我尝试通过pycassa查询数据:

import pycassa
from pycassa.pool import ConnectionPool
pool = ConnectionPool('ks1', ['localhost:9160'])
foo = pycassa.ColumnFamily(pool, 'foo')

这给了我

Traceback (most recent call last):
  File "test.py", line 5, in <module>
    foo = pycassa.ColumnFamily(pool, 'foo')
  File "/home/john/src/pycassa/lib/python2.7/site-packages/pycassa/columnfamily.py", line 284, in __init__
    self.load_schema()
  File "/home/john/src/pycassa/lib/python2.7/site-packages/pycassa/columnfamily.py", line 312, in load_schema
    raise nfe
pycassa.cassandra.ttypes.NotFoundException: NotFoundException(_message=None, why='Column family foo not found.')

如何才能做到这一点?


如果您使用 CQL3 创建了表并且希望通过基于 Thrift 的客户端访问它们;您必须指定紧凑存储属性。例如:

CREATE TABLE dummy_file_test
(
 dtPtn          INT,
 pxID           INT,
 startTm        INT,
 endTm          INT,
 patID          BIGINT,
 efile          BLOB,
 PRIMARY KEY((dtPtn, pxID, startTm))
)with compact storage;  

这是我在使用 Pycassa 访问基于 CQL3 的列族时必须做的事情

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 pycassa 读取 Cassandra 1.2 表 的相关文章

随机推荐