Hive时间函数时区问题(坑)

hive的时间函数

  1. 取得当前日期

select current_date();

  1. 取得当前日期时间

select current_timestamp();

-- 获取当前日期 UTC 默认时区
SELECT CURRENT_TIMESTAMP() 
-- 假设给定的时间戳是UTC并转换为给定的时区(从Hive 0.8.0开始)UTC 默认时区 转为 GMT+8 上海时区
SELECT from_utc_timestamp(CURRENT_TIMESTAMP,'GMT+8') 
-- 假设给定时间戳在给定时区内并转换为UTC(从Hive 0.8.0开始) 设置为GMT-8 时区 再转为 UTC 默认时区
SELECT to_utc_timestamp(CURRENT_TIMESTAMP,'GMT-8') 
  1. 取得当前时间

select from_unixtime(unix_timestamp(),‘yyyy-MM-dd HH:mm:ss’);

获取的是HiveService所在操作系统RTC(时钟芯片)时间,如下
实例1:

Hive时间函数时区问题(坑)_第1张图片
Hive时间函数时区问题(坑)_第2张图片
实例2:
Hive时间函数时区问题(坑)_第3张图片在这里插入图片描述

你可能感兴趣的:(hive,hive,hadoop,数据仓库)