gpt4 book ai didi

cassandra - 如何在Cassandra中仅存储最近的条目?

转载 作者:行者123 更新时间:2023-12-04 17:19:44 25 4
gpt4 key购买 nike

我有一个 Cassandra 表,如:-

create table test(imei text,dt_time timestamp, primary key(imei, dt_time)) WITH CLUSTERING ORDER BY (dt_time DESC);

Partition Key is: imei
Clustering Key is: dt_time

现在我只想为每个分区键存储这个表中的最新条目(基于时间)。
假设我在表中插入条目,其中每个 imei 将有一个条目

现在让我们说一个 imei 98838377272 dt_time 是 2017-12-23 16.20.12 现在对于相同的 imei 如果 dt_time 像 2017-12-23 15.20.00
那么这个条目不应该被插入到那个 Cassandra 表中。

但是如果时间像 2017-12-23 17.20.00 那么它应该被插入并且前一行应该被这个 dt_time 替换。

最佳答案

您可以使用 TIMESTAMP 插入语句中的子句将数据标记为最新:

Marks inserted data (write time) with TIMESTAMP. Enter the time since epoch (January 1, 1970) in microseconds. By default, Cassandra uses the actual time of write.



删除 dt_time从主键到仅存储一个条目 imei
  • 插入数据并指定时间戳为 2017-12-23 16.20.12
  • 插入数据并指定时间戳为 2017-12-23 15.20.00

  • 在这种情况下,通过 imei 选择将返回具有最新时间戳的记录(从点 1 开始)。

    请注意,如果您的 dt_time,此方法将有效(将指定为时间戳)小于当前时间。换句话说,选择查询将返回具有最新时间戳但在当前时间之前的记录。如果您插入时间戳大于当前时间的数据,则在此时间戳到来之前您将看不到此数据。

    关于cassandra - 如何在Cassandra中仅存储最近的条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50871060/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com