cassandra - 如何使用 pycassa 指定主键?

标签 cassandra pycassa nosql

我正在尝试使用pycassa添加主键。我可以使用 CQL3 来做到这一点,但我在网上找不到任何解释如何使用 Pycassa 来做到这一点的文档。我用谷歌搜索了太多,没有找到任何东西。

  • 有谁知道如何使用 Pycassa 指定哪个将是我的列族的主键?

  • 另外,我还有一个问题。是否可以有一个大的主键?例如 PRIMARY KEY(id、name、last_name、age)。

谢谢

最佳答案

是的,您可以拥有一个大的主键(“复合键”)。在您的示例中,id 将是分区键namelast_nameage集群键。所有字段组合起来构成主键

有关不同类型(和命名)键的详细解释,请查看 this SO answer .

This post给出了如何创建复合键的示例:

system_manager.create_column_family(..., key_validation_class="CompositeType(UTF8Type, Int32Type)")

对于你的数据,我猜:

system_manager.create_column_family(..., key_validation_class="CompositeType(Int32Type, UTF8Type, UTF8Type, Int32Type)")

我自己没用过pycassa,但是pycassa documentation有这个例子:

col_fam.insert('row_key', {'col_name': 'col_val'})

因此,我将大胆猜测您的情况(为了完整起见,添加几列):

col_fam.insert((id,name,last_name,age), {'firstname':first_name,'city':city})

关于cassandra - 如何使用 pycassa 指定主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33784431/

相关文章:

linux - Thingsboard:数据库更改

python - Pycassa col_fam.get_indexed_slices(clause) 有什么问题

python - 使用 Python 和 datetime 模块根据 TimeUUIDType 从 Cassandra 获取列范围

date - 在开始日期和结束日期之间查询 CouchDB 文档

android - 如何在 UML 图中建模 Firebase 数据库?

cassandra - 插入数据时,协调器节点在等待 Cassandra Datastax 中的副本节点时超时

cassandra - 如何决定 Cassandra 主键中的聚类列?

java - Spring+Hibernate+Cassandra的组合如何运行

python - Cassandra 缓冲读取数百万列

java - 对本地主机服务器的简单 retrofit2 请求