phoenix jdbc时间戳列问题

nuypyhwy  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(487)

我正在研究hbase数据库,并使用apachephoenix使用普通sql查询访问hbase。
我在表中有两列,其中保存了varchar和date中的当前utc时间戳。加载一些数据后,当我查询回hbase时,我得到了日期类型的event timestamp列的奇怪结果。

Event UTC (Date) :2017-01-13 16:36:59.0
Event UTC (varchar):2017-01-13 21:36:59

以上两个值应该是相同的,但在查询back event utc(date)列时,每个记录都会给出错误的结果,即正好落后5小时。我不知道这个问题是从哪里来的,我没有保存任何时区信息,而且我知道java util或sql timestamp不存储任何时区信息,但是在运行查询时会与结果集数据混淆。请帮我解决这个问题

mnowg1ta

mnowg1ta1#

很可能是因为客户所在的时区。
来自官方文件
时间戳类型:
内部表示基于自epoch以来的毫秒数(以gmt为单位),而java.sql.timestamp将基于客户端的本地时区格式化时间戳。

相关问题