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})