当前位置: 首页>数据库>正文

hive判断连续出现的最大长度 hive查询最大日期

轻松入门大数据


文章目录

  • 轻松入门大数据
  • 第10章 入门到进阶:如何快速掌握Hive核心函数
  • 10.1 Hive函数
  • 10.1.5 动手实操日期时间函数的使用


hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_hadoop,第1张

第10章 入门到进阶:如何快速掌握Hive核心函数

10.1 Hive函数
  1. 复杂数据类型
  2. Hive内置函数
  3. Hive UDF函数
  4. 窗口分析函数
  5. SQL场景题
10.1.5 动手实操日期时间函数的使用

看到官网文档:https://cwiki.apache.org/confluence/display/Hive/#Home-UserDocumentation

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_大数据_02,第2张

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_hive_03,第3张

所有 Hive 关键字都不区分大小写,包括 Hive 运算符和函数的名称。

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_hive判断连续出现的最大长度_04,第4张

这整个文档就非常详细了。

我们先看日期类型:

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_Hive_05,第5张

演示:

查询当前天:

select current_date;

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_大数据_06,第6张

查询当前时间戳:

select current_timestamp;

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_hive判断连续出现的最大长度_07,第7张

另一种:

select unix_timestamp();

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_大数据_08,第8张

这就是从那个神秘的时间,1970年1月1日0时0分0秒 ,到现在的秒数。

这个函数也可以指定时间进行转换:

select unix_timestamp('2008-08-08 20:08:00');

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_hadoop_09,第9张

还可以指定格式:

select unix_timestamp('20080808 20:08:00','yyyyMMdd HH:mm:ss');

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_hive判断连续出现的最大长度_10,第10张

把时间戳转换成时间:

select from_unixtime(1218226080);

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_Hive_11,第11张

也可以指定输出格式:

select from_unixtime(1218226080,'yyyy-MM-dd');

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_大数据_12,第12张

没问题。

字符串转date:

select to_date('2008-08-08 20:08:00');

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_大数据_13,第13张

date 是只有年月日那种

根据字符串获取年月日时分秒:

select year('2008-08-08 20:08:00');

select month('2008-08-08 20:08:00');

select day('2008-08-08 20:08:00');

select hour('2008-08-08 20:08:00'),minute('2008-08-08 20:08:00'),second('2008-08-08 20:08:00');

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_Hive_14,第14张

没问题。

求时间是当年的第几周:

其实官网文档上都有

select weekofyear('2023-05-12 16:48:12');

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_hive_15,第15张

哇,原来今天已经第19 周了

某天是当月的第几天:

select dayofmonth('2023-05-12 16:48:12');

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_hadoop_16,第16张

两个日期之间隔了多少个月:

select months_between('2020-04-01','2020-05-10');

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_Hive_17,第17张

对一个日期加减n 个月:

select add_months('2020-04-01',-3);

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_大数据_18,第18张

当然加上正数就往后走了

求两个日期相差多少天:

select datediff('2020-04-01','2020-04-11');

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_hive_19,第19张

对天进行加减:

select date_add('2020-04-01',-3);

减是date_sub,减月是month_sub

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_hadoop_20,第20张

求单月 的最后一天:

select last_day('2020-02-01');

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_大数据_21,第21张

日期格式化转换:

select date_format('2020-10-11 12:13:14','yyyy/MM/dd HH:mm:ss');

hive判断连续出现的最大长度 hive查询最大日期,hive判断连续出现的最大长度 hive查询最大日期_hive_22,第22张

没问题。



https://www.xamrdz.com/database/64z1925785.html

相关文章: