期望时间戳值Cassandra的长或日期字符串表示
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了期望时间戳值Cassandra的长或日期字符串表示相关的知识,希望对你有一定的参考价值。
我正在尝试使用下面的查询在Cassandra表中插入一行
INSERT INTO battery_time_series_by_producer JSON '"timestamp":1514413581,"customer":"com.fetchcore-cloud.local","stream":"/sw8/sensor/battery","producer":"freight18","data":"battery_level":1,"is_charging":true,"timestamp":1514413581';
我收到以下错误
Expected a long or a datestring representation of a timestamp value, but got an Integer: 1514413581
表中的字段时间戳确实是时间戳格式。但是,如果只是JSON,我怎么能把它转换成很长的
我的Cassandra版本是3.11.1
Cassandra将尝试将json对象解析为可能的最接近的数据类型,例如值1514413581将转换为Integer类型。如果你给出一个更大的数字,它将被解析为Long。
请注意,该时间戳类型表示自标准基准时间(称为epoch)以来的毫秒数。示例中的值表示1970年的时间。
简而言之,它要么使用字符串格式(例如“1514413581”),要么在cql语句中传递最近的时间戳值(后来自动转换为Long)。希望能帮助到你。
以上是关于期望时间戳值Cassandra的长或日期字符串表示的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spark Dataframe API 格式化时间戳值 [重复]