2
我想添加一个主键使用pycassa。我可以使用CQL3来做到这一点,但是我找不到任何文档解释了如何在网络中使用Pycassa来做到这一点。我搜索了太多,没有发现任何东西。如何使用pycassa指定主键?
有谁知道我该如何指定哪一个是我的使用Pycassa的列家族的主键?
另外,我还有一个问题。是否有可能有一个大的主键?例如PRIMARY KEY(id,name,last_name,age)。
谢谢
我想添加一个主键使用pycassa。我可以使用CQL3来做到这一点,但是我找不到任何文档解释了如何在网络中使用Pycassa来做到这一点。我搜索了太多,没有发现任何东西。如何使用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'})
所以我会冒险猜测y我们的情况(为了完整性而添加了几列):
col_fam.insert((id,name,last_name,age), {'firstname':first_name,'city':city})