zoukankan      html  css  js  c++  java
  • hive 3.1版本 和 1.2版本差异

    最近新搭的平台用到了hive 3.1的版本,发现和1.2的版本用法上存在差异

    hive 3.1源码

    其中涉及到时间转化的两个常用函数 from_unixtime 和 unix_timestamp 两者的TimeZone不在是从hive配置或者系统配置中获取,而是直接写死的UTC

    hive 1.2 最后获取依赖 rt.jar包

    这样就导致了带参的from_unixtime 和 unix_timestamp 函数 结果就是以UTC来算的,而不是我们北京时间PRC

    为了兼容原来的功能,我们需做代码层上的修改

    如:

    from_unixtime:
    1.2版本:
    select from_unixtime(1596988800,'yyyy-MM-dd HH:mm:ss');
    3.1版本:
    from_utc_timestamp(1596988800*1000L,'PRC'); //默认是yyyy-MM-dd HH:mm:ss
    转化为其他格式:
    date_format(from_utc_timestamp(c_timestamp*1000L,'PRC'),'yyyy-MM-dd HH')
    
    
    unix_timestamp:
    1.2版本: 
    select unix_timestamp('2020-08-10 23:42:11','yyyy-MM-dd HH:mm:ss'); 
    3.1版本: 
    unix_timestamp(to_utc_timestamp('2020-08-10 23:42:11','PRC'),'yyyy-MM-dd HH:mm:ss')
    

      

    
    
  • 相关阅读:
    围棋GO
    Android 四大组件------Activity
    android studio----设备兼容
    android UI开发--------Action Bar
    开发调试工具----DDMS
    RxJava的使用
    Atlas框架
    Android studio上git的使用
    AS上git的使用与遇到的问题
    picasso-安卓的图片下载缓存库
  • 原文地址:https://www.cnblogs.com/long-yuan/p/13469826.html
Copyright © 2011-2022 走看看