1、日期函数UNIX时间戳转日期函数:from_unixtime()

函数 格式 返回值 说明
from_unixtime from_unixtime(bigint unixtime[, string format]) string 转化UNIX时间戳(从1970-01-01 00:00:00 UTC到指定时间的秒数)到当前时区的时间格式
hive (temp)> select from_unixtime(1323308943,'yyyyMMdd') from dual;
20111208
hive (temp)> select from_unixtime(1323308943,'yyyy-MM-dd') from dual;
2011-12-08

2、当前UNIX时间戳函数: unix_timestamp()

2.1 获取当前UNIX时间戳函数

函数 格式 返回值 说明
unix_timestamp unix_timestamp() bigint 获得当前时区的UNIX时间戳
hive (temp)> select unix_timestamp() from dual;
1472105939

2.2 日期转UNIX时间戳函数

函数 格式 返回值 说明
unix_timestamp unix_timestamp(string date) bigint 转换格式为"yyyy-MM-dd HH:mm:ss"的日期到UNIX时间戳。转化失败,则返回0
hive (temp)> select unix_timestamp('2016-08-25 13:02:03') from dual;
1472101323

2.3 指定格式日期转UNIX时间戳函数

函数 格式 返回值 说明
unix_timestamp unix_timestamp(string date, string pattern) bigint 转换格式为"yyyyMMdd HH:mm:ss"的日期到UNIX时间戳。转化失败,则返回0
hive (temp)> select unix_timestamp('20160825 13:02:03','yyyyMMdd HH:mm:ss') from dual;
1472101323

3、日期时间转日期函数: to_date()

函数 格式 返回值 说明
to_date to_date(string timestamp) string 返回日期时间字段中的日期部分
hive (temp)> select to_date('2016-12-08 10:03:01') from dual;
2016-12-08

4、日期转年函数: year()

函数 格式 返回值 说明
year year(string date) int 返回日期中的年
hive (temp)> select year('2016-12-08 10:03:01') from dual;
2016 hive (temp)> select year('2016-12-08') from dual;
2016

5、日期转月函数: month()

函数 格式 返回值 说明
month month(string date) int 返回日期中的月份
hive (temp)> select month('2016-12-08 10:03:01') from dual;
12 hive (temp)> select month('2016-11-08') from dual;
11

6、日期转天函数: day()

函数 格式 返回值 说明
day day(string date) int 返回日期中的天
hive (temp)> select day('2016-12-08 10:03:01') from dual;
8 hive (temp)> select day('2016-11-18') from dual;
18

7、日期转小时函数: hour()

函数 格式 返回值 说明
hour hour(string date) int 返回日期中的小时
hive (temp)> select hour('2016-12-08 10:03:01') from dual;
10

8、日期转分钟函数: minute()

函数 格式 返回值 说明
minute minute(string date) int 返回日期中的分钟
hive (temp)> select minute('2016-12-08 10:03:01') from dual;
3

9、日期转秒函数: second()

函数 格式 返回值 说明
second second(string date) int 返回日期中的秒
hive (temp)> select second('2016-12-08 10:03:01') from dual;
1

10、日期转周函数: weekofyear()

函数 格式 返回值 说明
weekofyear weekofyear(string date) int 返回日期在当前的周数
hive (temp)> select weekofyear('2016-12-08 10:03:01') from dual;
49

11、日期比较函数: datediff(string enddate, string startdate)

函数 格式 返回值 说明
datediff datediff(string enddate, string startdate) int 返回结束日期减去开始日期的天数
hive (temp)> select datediff('2016-12-08','2016-12-02') from dual;
6

12、日期增加函数: date_add(string startdate, int days)

函数 格式 返回值 说明
date_add date_add(string startdate, int days) string 返回开始日期startdate增加days天后的日期
hive (temp)> select date_add('2016-12-08',10) from dual;
2016-12-18 #当前日期为2016-08-25,在此基础上加7天
hive (temp)> select date_add(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),7) from dual;
2016-09-01

13、日期减少函数:date_sub (string startdate, int days)

函数 格式 返回值 说明
date_sub date_sub(string startdate, int days) string 返回开始日期startdate减少days天后的日期
hive (temp)> select date_sub('2016-12-08',10) from dual;
2016-11-28 #当前日期为2016-08-25,在此基础上减7天
hive (temp)> select date_sub(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),7) from dual;
2016-08-18

作者:一刀Q
链接:http://www.jianshu.com/p/e30395941f9c
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Hive中日期处理的更多相关文章

  1. Hive中日期函数总结

    --Hive中日期函数总结: --1.时间戳函数 --日期转时间戳:从1970-01-01 00:00:00 UTC到指定时间的秒数 select unix_timestamp(); --获得当前时区 ...

  2. hive时间日期函数及典型场景应用

    1.hive取得当前日期时间: 1.1) 取得当前日期: select current_date(); 1.2) 取得当前日期时间: select current_timestamp(); 1.3) ...

  3. hive中时间操作(二)

    转:https://blog.csdn.net/qq646748739/article/details/77997276 --Hive中日期函数总结:--1.时间戳函数--日期转时间戳:从1970-0 ...

  4. Hive中自定义函数

    Hive的自定义的函数的步骤: 1°.自定义UDF extends org.apache.hadoop.hive.ql.exec.UDF 2°.需要实现evaluate函数,evaluate函数支持重 ...

  5. 关于sparksql操作hive,读取本地csv文件并以parquet的形式装入hive中

    说明:spark版本:2.2.0 hive版本:1.2.1 需求: 有本地csv格式的一个文件,格式为${当天日期}visit.txt,例如20180707visit.txt,现在需要将其通过spar ...

  6. 漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)

    本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理.设计.以及在我们大数据场景下的实现方式. 全文由下面几个部分组成: 先分享一下拉链表的用途.什么是拉链表. 通过一些小的使用场景来对拉链表做近 ...

  7. sqoop 从oracle导数据到hive中,date型数据时分秒截断问题

    oracle数据库中Date类型倒入到hive中出现时分秒截断问题解决方案 1.问题描述: 用sqoop将oracle数据表倒入到hive中,oracle中Date型数据会出现时分秒截断问题,只保留了 ...

  8. hive中时间操作(一)

    转:https://blog.csdn.net/u012474716/article/details/78925319/ hive中常用的时间为时间戳和日期格式之间的转换 常用的函数为: to_dat ...

  9. 【hive 日期函数】Hive常用日期函数整理

    1.to_date:日期时间转日期函数 select to_date('2015-04-02 13:34:12');输出:2015-04-02122.from_unixtime:转化unix时间戳到当 ...

随机推荐

  1. poj 2229 Sumsets 完全背包求方案总数

    Sumsets Description Farmer John commanded his cows to search for different sets of numbers that sum ...

  2. ACM ICPC 2010–2011, Northeastern European Regional Contest St Petersburg – Barnaul – Tashkent – Tbilisi, November 24, 2010

    ACM ICPC 2010–2011, Northeastern European Regional Contest St Petersburg – Barnaul – Tashkent – Tbil ...

  3. zabbix自动化运维学习笔记(服务器安装)

    最近博主开始接触自动化运维.首先就是zabbix这个开源的监控系统 一开始博主只是在自己的虚拟机上尝试安装.最后终于开始在公司的服务器上正式安装,教程博主也是通过度娘找的 这是原文:链接 安装环境:C ...

  4. ZooKeeper原理 --------这可能是把ZooKeeper概念讲的最清楚的一篇文章

    相信大家对 ZooKeeper 应该不算陌生,但是你真的了解 ZooKeeper 是什么吗?如果别人/面试官让你讲讲 ZooKeeper 是什么,你能回答到哪个地步呢? 我本人曾经使用过 ZooKee ...

  5. zabbix selinux audit2allow 问题

    he following example demonstrates using audit2allow to create a policy module: A denial and the asso ...

  6. JDK的多线程与并发库

    1.创建多线程 public class MultiThread { public static void main(String[] args) { // 通过继承Thread类 Thread th ...

  7. List根据某个字段(属性)去重

    有时候自带的list.Distinct()去重并不能满足魔门的要求,比如以下情况 如果testList的Name相同则视为重复,则可以如下实现,比写循环语句简洁多了 testList.Where((x ...

  8. canvas基础学习

    /** * Created by ty on 2016/7/11. * canvas 基础 */ window.onload = function() { var canvas = document. ...

  9. JBPM4入门——1.jbpm简要介绍

    本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...

  10. flowable EngineConfiguration的实现分析(2)

    EngineConfiguration的实现类是一个抽象类:AbstractEngineConfiguration 一.引擎配置的分类 继承 AbsractEngineConfiguration的子类 ...