【问题标题】:How to insert time series data into Cassandra如何将时间序列数据插入 Cassandra
【发布时间】:2015-03-08 15:42:21
【问题描述】:

我已经创建了下表,但现在想在事物列表中插入数据,因为 CQL 要我指定事件时间,所以我不能。我没有,但是是的,我有 OrderId 。

处理这种情况的最佳方法是什么?

创建表“Orders_By_Time” (OrderId 文本, 事件时间时间戳, ThingsList列表, 主键 (OrderId, EventTime) ) WITH CLUSTERING ORDER BY (EventTime DESC);

谢谢,

【问题讨论】:

    标签: insert cassandra cql


    【解决方案1】:

    插入数据时需要指定主键的所有部分,所以可以使用 dateof(now()) 生成当前时间的时间戳。

    看到这个类似的问题:

    How to get current timestamp with CQL while using Command Line?

    【讨论】:

    • 嗨,吉姆,是的,我可以使用 dateof(now) 输入记录。但我想要更新记录,例如在该 OrderId 的 ThingsList 中添加条目。例如,我已经输入了一条记录。但现在我想稍后输入该 orderId 的 thingslist。我只知道该时间序列条目的订单 ID,但不知道该条目的时间戳。请提出更好的解决方案可能是我需要更改数据模型以实现此目标
    • 那么您可能不希望 EventTime 作为主键的一部分,它只是一个常规列。您将表定义为时间序列的方式,但使用时间序列,您通常会随着时间的推移记录事件,而不是稍后更新这些事件。如果您需要时间序列和稍后更新它的方法,您可以有两个表,orders_by_time 和 orders_by_orderid,ThingsList 位于 orders_by_orderid 表中,仅 orderid 作为主键。
    猜你喜欢
    • 1970-01-01
    • 2013-05-08
    • 2011-01-13
    • 2017-03-06
    • 2019-01-10
    • 2020-08-10
    • 2013-08-02
    • 2014-11-18
    相关资源
    最近更新 更多