2015-11-18 40 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})