cassandra cql:如何只插入不超过3年的记录?

dgsult0t  于 2021-06-10  发布在  Cassandra
关注(0)|答案(1)|浏览(310)

我有一张这样的table:

CREATE TABLE events (
   id int,
   eventdate timestamp,
   PRIMARY KEY (id)
);

我要做的是条件插入,它将验证 eventdate 不超过3年,如果满足条件,则插入数据。
在sql中,类似的功能可以通过 DATEADD 在Cassandra如何处理?

xpcnnkqh

xpcnnkqh1#

select * from events 并对结果集进行迭代(分页)。对所有超过3年的内容发布插入。一个快速的python脚本并给它一两天的运行时间将比更复杂的事情在更短的时间内完成它。尤其是如果这是一次性的。如果你需要经常这样做,我建议你写一个Spark工作来做。如果您不想使用spark并且希望在本地运行spark,那么可以通过将select语句上的标记范围拆分为环边界来提高效率。
cassandra不支持大批量操作,这些操作需要先读后写,必须读取整个数据集。它不会在其设计支持的集群上工作(想想跨许多数据中心的PB)。

相关问题