我想一些时间序列数据存储在以下列族:在卡桑德拉更新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