Flink sql中设置了时区为上海,但是时间还是少了8个小时怎么办?

提问者:帅平 问题分类:大数据
在flinksql编程里面,已经设置过了时区为上海:
tEnv.getConfig().setLocalTimeZone(ZoneId.of("Asia/Shanghai"));

sql的结构如下:
CREATE TABLE tmp_orders( order_number BIGINT, price DECIMAL(32,2), buyer ROW<first_name STRING, last_name STRING>, order_time TIMESTAMP(3)) WITH ( 'connector' = 'datagen', 'rows-per-second' = '1', 'number-of-rows' = '50' );

结果在查询的时候,发现时间少了8个小时,如下图:
Flink sql中设置了时区为上海,但是时间还是少了8个小时怎么办?
需要怎么办?
1 个回答
情若相惜
情若相惜
在flink中TIMESTAMP数据类型是不带时区的,因此创建的表结构里面把TIMESTAMP修改为:TIMESTAMP_LTZ即可,这样子设置的时区就生效了。
发布于:2年前 (2023-08-18) IP属地:四川省
我来回答