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