IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hive常用函数 -> 正文阅读

[大数据]Hive常用函数

常用函数

查询具体函数
desc function 方法名;
常用日期函数

unix_timestamp:返回当前或指定时间的时间戳

hive (default)> select unix_timestamp();
unix_timestamp(void) is deprecated. Use current_timestamp instead.
unix_timestamp(void) is deprecated. Use current_timestamp instead.
OK
_c0
1628144062
Time taken: 0.192 seconds, Fetched: 1 row(s)

from_unixtime:将时间戳转为日期格式

hive (default)> select from_unixtime(1628143897,"yyyy-mm-dd");
OK
_c0
2021-11-05
Time taken: 0.156 seconds, Fetched: 1 row(s)

current_date:当前日期(可以去括号)

hive (default)> select current_date();
OK
_c0
2021-08-05
Time taken: 0.143 seconds, Fetched: 1 row(s)

current_timestamp:当前的日期加时间

hive (default)> select current_timestamp;
OK
_c0
2021-08-05 14:21:29.1
Time taken: 0.157 seconds, Fetched: 1 row(s)
hive (default)> select current_timestamp();
OK
_c0
2021-08-05 14:21:31.947
Time taken: 0.151 seconds, Fetched: 1 row(s)

to_date:抽取日期部分

hive (default)> select to_date(current_timestamp);
OK
_c0
2021-08-05
Time taken: 0.135 seconds, Fetched: 1 row(s)

year:获取年

hive (default)> select year(current_timestamp);
OK
_c0
2021
Time taken: 0.247 seconds, Fetched: 1 row(s)

month:获取月
day:获取日
hour:获取时
minute:获取分
second:获取秒

weekofyear:当前时间是一年中的第几周

hive (default)> select weekofyear(current_timestamp);
OK
_c0
31
Time taken: 0.178 seconds, Fetched: 1 row(s)

dayofmonth:当前时间是一个月中的第几天

hive (default)> select dayofmonth(current_timestamp);
OK
_c0
5
Time taken: 0.147 seconds, Fetched: 1 row(s)

months_between: 两个日期间的月份

hive (default)> select months_between(current_timestamp,current_timestamp);
OK
_c0
0.0
Time taken: 0.152 seconds, Fetched: 1 row(s)
hive (default)> select current_timestamp;
OK
_c0
2021-08-05 14:28:32.471
Time taken: 0.117 seconds, Fetched: 1 row(s)
hive (default)> select months_between(current_timestamp,"2021-01-01");
OK
_c0
7.14849276
Time taken: 0.155 seconds, Fetched: 1 row(s)
hive (default)> select months_between(current_timestamp,"2021-01-21");
OK
_c0
6.50333744
Time taken: 0.138 seconds, Fetched: 1 row(s)
hive (default)> 

add_months:日期加减月

//add_months(start_date, num_months, output_date_format)
hive (default)> select add_months(current_timestamp,5);
OK
_c0
2022-01-05
Time taken: 0.116 seconds, Fetched: 1 row(s)

datediff:两个日期相差的天数

hive (default)> select datediff(current_timestamp,"2021-08-01");
OK
_c0
4
Time taken: 0.153 seconds, Fetched: 1 row(s)

date_add:日期加天数

hive (default)> select date_add(current_timestamp,5);
OK
_c0
2021-08-10
Time taken: 0.128 seconds, Fetched: 1 row(s)

date_sub:日期减天数

last_day:日期的当月的最后一天

hive (default)> select last_day("2001-01");
OK
_c0
NULL
Time taken: 0.133 seconds, Fetched: 1 row(s)
hive (default)> select last_day("2001-01-05");
OK
_c0
2001-01-31
Time taken: 0.11 seconds, Fetched: 1 row(s)

date_format(): 格式化日期

hive (default)> select date_format(current_timestamp,"MM-yyyy-dd");
OK
_c0
08-2021-05
Time taken: 0.128 seconds, Fetched: 1 row(s)

常用取整函数
round: 四舍五入

hive (default)> select round(3.4);
OK
_c0
3
Time taken: 0.12 seconds, Fetched: 1 row(s)

ceil: 向上取整
floor: 向下取整
常用字符串操作函数
upper: 转大写

hive (default)> select upper("aac");
OK
_c0
AAC
Time taken: 0.15 seconds, Fetched: 1 row(s)

lower: 转小写
length: 长度

hive (default)> select length("aac");
OK
_c0
3
Time taken: 0.094 seconds, Fetched: 1 row(s)

trim: 前后去空格

hive (default)> select trim(" aac   ");
OK
_c0
aac
Time taken: 0.105 seconds, Fetched: 1 row(s)

lpad: 向左补齐,到指定长度

hive (default)> select lpad(" aac   ",10,"*");
OK
_c0
*** aac   
Time taken: 0.125 seconds, Fetched: 1 row(s)

rpad: 向右补齐,到指定长度

hive (default)> select rpad(" aac   ",10,"*");
OK
_c0
 aac   ***
Time taken: 0.114 seconds, Fetched: 1 row(s)

regexp_replace:使用正则表达式匹配目标字符串,匹配成功后替换!

hive (default)> select  regexp_replace("a//bds/c","/","*");
OK
_c0
a**bds*c
Time taken: 0.106 seconds, Fetched: 1 row(s)

hive (default)> select  regexp_replace("aiibds/c","^i","*");
OK
_c0
aiibds/c
Time taken: 0.125 seconds, Fetched: 1 row(s)

集合操作
size: 集合中元素的个数

hive (default)> select * from test;
OK
test.name       test.friends    test.children   test.address
songsong        ["bingbing","lili"]     {"xiao song":18,"xiaoxiao song":19}     {"street":"hui long guan","city":"beijing"}
yangyang        ["caicai","susu"]       {"xiao yang":18,"xiaoxiao yang":19}     {"street":"chao yang","city":"beijing"}
Time taken: 0.218 seconds, Fetched: 2 row(s)
hive (default)> select size(friends) from test;
OK
_c0
2
2
Time taken: 0.115 seconds, Fetched: 2 row(s)

map_keys: 返回map中的key

hive (default)> select map_keys(children) from test;
OK
_c0
["xiao song","xiaoxiao song"]
["xiao yang","xiaoxiao yang"]
Time taken: 0.107 seconds, Fetched: 2 row(s)

map_values: 返回map中的value

hive (default)> select map_values(children) from test;
OK
_c0
[18,19]
[18,19]
Time taken: 0.206 seconds, Fetched: 2 row(s)

array_contains: 判断array中是否包含某个元素

hive (default)> select array_contains(friends,"lili") from test;
OK
_c0
true
false
Time taken: 0.12 seconds, Fetched: 2 row(s)

sort_array: 将array中的元素排序

hive (default)> select sort_array(friends) from test;
OK
_c0
["bingbing","lili"]
["caicai","susu"]
Time taken: 0.089 seconds, Fetched: 2 row(s)

grouping sets:多维分析

hive (default)> select * from business;
OK
business.name   business.orderdate      business.cost
jack    2017-01-01      10
tony    2017-01-02      15
jack    2017-02-03      23
tony    2017-01-04      29
jack    2017-01-05      46
jack    2017-04-06      42
tony    2017-01-07      50
jack    2017-01-08      55
mart    2017-04-08      62
mart    2017-04-09      68
neil    2017-05-10      12
mart    2017-04-11      75
neil    2017-06-12      80
mart    2017-04-13      94

hive (default)> select name,orderdate,cost from business group by name,orderdate,cost grouping sets((name,orderdate),(name),(name,orderdate,cost));

Total MapReduce CPU Time Spent: 5 seconds 20 msec
OK
name    orderdate       cost
jack    NULL    NULL
jack    2017-01-01      NULL
jack    2017-01-01      10
jack    2017-01-05      NULL
jack    2017-01-05      46
jack    2017-01-08      NULL
jack    2017-01-08      55
jack    2017-02-03      NULL
jack    2017-02-03      23
jack    2017-04-06      NULL
jack    2017-04-06      42
mart    NULL    NULL
mart    2017-04-08      NULL
mart    2017-04-08      62
mart    2017-04-09      NULL
mart    2017-04-09      68
mart    2017-04-11      NULL
mart    2017-04-11      75
mart    2017-04-13      NULL
mart    2017-04-13      94
neil    NULL    NULL
neil    2017-05-10      NULL
neil    2017-05-10      12
neil    2017-06-12      NULL
neil    2017-06-12      80
tony    NULL    NULL
tony    2017-01-02      NULL
tony    2017-01-02      15
tony    2017-01-04      NULL
tony    2017-01-04      29
tony    2017-01-07      NULL
tony    2017-01-07      50
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-06 15:57:19  更:2021-08-06 15:57:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 18:09:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码