impala 默认配置不是中国时区,所以格式化时间戳的时候 用from_unixtime ,有八个小时的时间差
如果不重启impala服务 可以用时间函数增加8小时,暂时获取正确的格式化日期:hours_add(from_unixtime(cast(substring( TIME_STAMP,1,10) as bigint),’yyyy-MM-dd HH:mm:ss’),8)
或者直接修改impala配置并重启impala服务即可:
Cloudera Manager -> Impala -> 配置-> Impala Daemon -> 高级
Impala Daemon 命令行参数 加
-use_local_tz_for_unix_timestamp_conversions
-convert_legacy_hive_parquet_utc_timestamps
impala启动时加 -use_local_tz_for_unix_timestamp_conversions=true。