我想一些時間序列數據存儲在以下列族:在卡桑德拉更新TimeUUID列
create column family t_data with comparator=TimeUUIDType and default_validation_class=UTF8Type and key_validation_class=UTF8Type;
我成功地插入數據是這樣的:
data={datetime.datetime(2013, 3, 4, 17, 8, 57, 919671):'VALUE'}
key='row_id'
col_fam.insert(key,data)
,你可以請參閱使用日期時間對象作爲列名pycassa正確轉換爲timeUUID對象。
[[email protected]] get t_data[row_id];
=> (column=f36ad7be-84ed-11e2-af42-ef3ff4aa7c40, value=VALUE, timestamp=1362423749228331)
有時,應用程序需要更新一些數據。問題是,當我嘗試更新該列,傳遞相同的日期時間對象時,pycassa創建了一個不同的UUID對象(時間部分是相同的),所以不是更新列而是創建另一個UUID對象。
[[email protected]] get t_data[row_id];
=> (column=f36ad7be-84ed-11e2-af42-ef3ff4aa7c40, value=VALUE, timestamp=1362423749228331)
=> (column=**f36ad7be**-84ed-11e2-b2fa-a6d3e28fea13, value=VALUE, timestamp=1362424025433209)
問題是,我怎樣才能更新基於pycassa傳遞datetime對象的基於TimeUUID的列?或者,如果這不是正確的做法,建議的方法是什麼?
謝謝你的回答。應用程序設計意味着有些時候,與行關聯的值不是正確的,兒子更新它們是很有必要的,但是你的迴應澄清了我要遵循的路徑。謝謝。 – jcazor 2013-03-05 11:08:14