hadoop - 使用Phoenix Driver将数据保存到Hbase时的时区问题

标签 hadoop hbase phoenix bigdata

我是HBase的新手,并使用Phoenix驱动程序使用Squirrel客户端连接HBase。下面的查询描述了我的表结构,它具有带有“Alert Id(varchar)”和“Alert StartTime(Row Timestamp)”的复合主键。

CREATE TABLE ALERT_DETAILS (ALERTID VARCHAR,MACHINENAME VARCHAR(100),PLACE VARCHAR(100),ALERTTYPE VARCHAR(32),ALERTSTARTTIME TIMESTAMP NOT NULL CONSTRAINT CTKEY PRIMARY KEY (ALERTID, ALERTSTARTTIME ROW_TIMESTAMP));

当我使用以下查询插入数据时。我看不到查询中提供的时间戳值。 (正在5小时之前)更改为其他值。
upsert into ALERT_DETAILS values('956dbd63fc586e35bccb0cac18d2cef0','machineone','AUS','CRITICAL ALERT','2016-12-22 11:30:23.0')

执行查询后,时间戳记值从'2016-12-22 11:30:23.0'变为'2016-12-22 06:30:23.0'。

我的系统时区是EST,请帮助我如何更改Phoenix和Hbase的配置

最佳答案

Phoenix使用系统时区。

使用tzselect并按照提示进行操作。它将输出一个环境变量,您可以在.bash_profile中设置该变量,也可以在系统启动时进行设置。

即。 TZ='America/New_York'; export TZ

关于hadoop - 使用Phoenix Driver将数据保存到Hbase时的时区问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41346728/

相关文章:

java - 我可以在 hadoop 的配置 xml 中使用 Java 系统属性吗?

hadoop - 将文本分隔表的输出写入本地UNIX时hadoop fs -cat命令中的错误

hadoop - 如何中止映射器(或 reducer )内的 MR 作业

hadoop - HBase 组件没有出现在 Pentaho Kettle 中

hadoop - 如何将 Microsoft SQL Server 中的数据导入 HBase

google-cloud-platform - Apache Phoenix - GCP 数据处理

hadoop - 文件是否分成 block 存储在HDFS中?

hadoop - 将文本文件读入Hbase MapReduce并将其存储到HTable

hadoop - 在phoenix外壳中未在hbase外壳中创建表

elixir - 编译错误 - User.__struct__/1 未定义,无法扩展 struct User