如何使用 pycassa 指定主键?
How can I specify primary key using pycassa?
我正在尝试使用 pycassa 添加主键。我可以使用 CQL3 做到这一点,但我找不到任何解释如何在网络上使用 Pycassa 做到这一点的文档。我在谷歌上搜索了太多,没有找到任何东西。
有谁知道如何使用 Pycassa 指定我的列族的主键?
另外,我还有一个问题。有可能有一个大的主键吗?例如 PRIMARY KEY(id, name, last_name, age).
谢谢
是的,你可以有一个大的主键(复合键”)。在您的示例中,id
将是 分区键 ,而 name
、last_name
、age
是 聚类键。所有字段组合在一起构成 主键 。
有关键的不同类型(和命名)的很好的解释,请查看 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})
我正在尝试使用 pycassa 添加主键。我可以使用 CQL3 做到这一点,但我找不到任何解释如何在网络上使用 Pycassa 做到这一点的文档。我在谷歌上搜索了太多,没有找到任何东西。
有谁知道如何使用 Pycassa 指定我的列族的主键?
另外,我还有一个问题。有可能有一个大的主键吗?例如 PRIMARY KEY(id, name, last_name, age).
谢谢
是的,你可以有一个大的主键(复合键”)。在您的示例中,id
将是 分区键 ,而 name
、last_name
、age
是 聚类键。所有字段组合在一起构成 主键 。
有关键的不同类型(和命名)的很好的解释,请查看 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})