Cassandra以UTC时间插入时间戳

时间:2018-04-26 06:04:10

标签: cassandra cassandra-3.0 cqlsh

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

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

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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

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

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