Cassandra CQL:如何仅插入不超过3年的记录?

问题描述 投票:0回答:1

我有这样的桌子:

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

我想做的是有条件插入,它将验证eventdate是否不超过3年,并在满足条件的情况下插入数据。

在SQL中,DATEADD可以实现类似的效果

如何在Cassandra中处理它?

cassandra insert conditional-statements cql
1个回答
0
投票

select * from events并迭代(分页)结果集。发行超过3年的所有内容的插页。一个快速的python脚本并给它一两天的运行时间,比完成更复杂的事情所需的时间更少。特别是如果这是一次性的事情。如果您需要定期执行此操作,我建议编写一个火花作业来执行。如果您不想使用spark并希望在本地运行它,可以通过将select语句上的标记范围划分为环形边界来提高效率。

Cassandra将不支持需要在读取之前必须读取整个数据集的大批量操作。它不适用于其设计要支持的群集(请考虑跨许多数据中心的PB级数据)。

© www.soinside.com 2019 - 2024. All rights reserved.