【问题标题】:Cassandra inserts timestamp in UTC timeCassandra 在 UTC 时间插入时间戳
【发布时间】:2018-10-06 17:33:02
【问题描述】:

我有带有时间戳(UTC 时间)的 json 日志。我将键和值映射到 Cassandra 表键并插入记录。但是,Cassandra 通过从时间戳中减去 5 小时,再次将已经是 UTC 的时间戳转换为 UTC。这里的时区是 (GMT + 5)。

cqlsh> INSERT INTO myTable (id,time) VAlUES (abc123, 2018-01-12T12:32:31);

现在时间已经是 UTC 时间,它仍然插入 5 小时前的时间戳。

我该如何解决这个问题?

【问题讨论】:

  • 通过提供您的时间戳的时区?喜欢2018-01-12T12:32:31Z

标签: cassandra cassandra-3.0 cqlsh


【解决方案1】:

如果您使用 cqlsh 插入数据,则可以使用 timezone 参数在 cqlshrc 文件中指定默认时区(参见 default cqlshrc 示例)。

如果您以编程方式插入日期,则需要将您的时间转换为与 Cassandra 的 timestamp 类型匹配的相应类型(例如,java.util.Date 用于 Java)。在您的情况下,更改可能很简单 - 只需将 Z 附加到 Ralf 指出的时间戳字符串

【讨论】:

    猜你喜欢
    • 2017-03-06
    • 1970-01-01
    • 1970-01-01
    • 2018-03-04
    • 2014-05-10
    • 2013-05-08
    • 2015-08-24
    • 2018-02-16
    • 1970-01-01
    相关资源
    最近更新 更多