2015-11-18 98 views
2

我想添加一个主键使用pycassa。我可以使用CQL3来做到这一点,但是我找不到任何文档解释了如何在网络中使用Pycassa来做到这一点。我搜索了太多,没有发现任何东西。如何使用pycassa指定主键?

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

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

谢谢

回答

2

是的,你可以有一个大的主键( “复合键”)。在您的示例中,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})