Проблема часового пояса при сохранении данных в Hbase с помощью драйвера Phoenix

Я новичок в HBase и использую драйвер Phoenix для подключения HBase с помощью клиента Squirrel. Ниже запрос описывает мою структуру таблицы и имеет составной первичный ключ с «идентификатором предупреждения ( varchar)» и «Alert StartTime ( метка времени строки)».

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

1 ответ

  1. Phoenix использует системный часовой пояс.

    Используйте tzselectи следуйте подсказкам. Он выведет переменную среды, которую вы можете установить в своем .bash_profile или установить при запуске системы.

    то есть. TZ='America/New_York'; export TZ