我的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小时前的时间戳。
我该如何解决这个问题?
答案 0 :(得分:2)
如果您使用cqlsh插入数据,则可以使用cqlshrc
参数在timezone
文件中指定默认时区(请参阅default cqlshrc)。
如果以编程方式插入日期,则需要将时间转换为与Cassandra的timestamp
类型(例如Java的java.util.Date
)匹配的相应类型。在您的情况下,更改可能很简单 - 只需将Z
附加到Ralf指向的时间戳字符串