Cassandra 在 UTC 时间中插入时间戳
Cassandra inserts timestamp in UTC time
我有 json 个带有时间戳(UTC 时间)的日志。我将键和值映射到 Cassandra Table 键并插入记录。但是,Cassandra 通过从时间戳中减去 5 小时,将已经存在的 UTC 时间戳再次转换为 UTC。这里的时区是 (GMT + 5).
cqlsh> INSERT INTO myTable (id,time) VAlUES (abc123, 2018-01-12T12:32:31);
现在时间已经是 UTC 时间了,它仍然插入了 5 小时前的时间戳。
我该如何解决?
如果您使用 cqlsh 插入数据,则可以使用 timezone
参数在 cqlshrc
文件中指定默认时区(参见 default cqlshrc 示例)。
如果您以编程方式插入日期,则需要将您的时间转换为与 Cassandra 的 timestamp
类型相匹配的相应类型(例如 java.util.Date
对应 Java)。在您的情况下,更改可能很简单-只需将 Z
附加到 Ralf
所指出的时间戳字符串
我有 json 个带有时间戳(UTC 时间)的日志。我将键和值映射到 Cassandra Table 键并插入记录。但是,Cassandra 通过从时间戳中减去 5 小时,将已经存在的 UTC 时间戳再次转换为 UTC。这里的时区是 (GMT + 5).
cqlsh> INSERT INTO myTable (id,time) VAlUES (abc123, 2018-01-12T12:32:31);
现在时间已经是 UTC 时间了,它仍然插入了 5 小时前的时间戳。
我该如何解决?
如果您使用 cqlsh 插入数据,则可以使用 timezone
参数在 cqlshrc
文件中指定默认时区(参见 default cqlshrc 示例)。
如果您以编程方式插入日期,则需要将您的时间转换为与 Cassandra 的 timestamp
类型相匹配的相应类型(例如 java.util.Date
对应 Java)。在您的情况下,更改可能很简单-只需将 Z
附加到 Ralf