我有这样的桌子:
CREATE TABLE events (
id int,
eventdate timestamp,
PRIMARY KEY (id)
);
我想做的是有条件插入,它将验证eventdate
是否不超过3年,并在满足条件的情况下插入数据。
在SQL中,DATEADD
可以实现类似的效果
如何在Cassandra中处理它?
select * from events
并迭代(分页)结果集。发行超过3年的所有内容的插页。一个快速的python脚本并给它一两天的运行时间,比完成更复杂的事情所需的时间更少。特别是如果这是一次性的事情。如果您需要定期执行此操作,我建议编写一个火花作业来执行。如果您不想使用spark并希望在本地运行它,可以通过将select语句上的标记范围划分为环形边界来提高效率。
Cassandra将不支持需要在读取之前必须读取整个数据集的大批量操作。它不适用于其设计要支持的群集(请考虑跨许多数据中心的PB级数据)。