【发布时间】:2015-12-20 13:53:55
【问题描述】:
我有一个将数据插入 cassandra 表的任务,但我不想覆盖之前插入的记录,但插入 cql 会覆盖现有数据。
还好我找到了一个'USING TIMESTAMP'的操作,时间戳较大的cql会覆盖较小的,否则不会。因此,使用“使用时间戳”我可以使用自定义时间戳来确定是否覆盖。它在 Cqlsh 中运行良好。
但是它在 python-cassandra-driver 中失败了,如何让'USING TIMESTAMP'在 python-cassandra-driver 中工作?我的代码如下:
insert_sql = ("INSERT INTO activate (rowkey, qualifier, info, act_date, log_time) "
"VALUES(%s, %s, %s, %s, %s) "
"USING TIMESTAMP %s")
insert_data = (a_string, a_string, a_string, a_string, a_string, a_custom_timestamp)
session.execute(insert_sql, insert_data)
【问题讨论】:
-
以下布莱克的建议是合理的。专注于您的原始问题:您的代码应该如图所示工作。是什么让您认为它对驱动程序不起作用?这可能是您的自定义时间戳中的分辨率问题吗?你是怎么产生的?