Hive常用的函数

大数据梦想家 2020-12-06 16:44:26 6925

前言

        上一篇文章《Hive查询的18种方式,你都学会了吗?》为大家系统地介绍了Hive查询的18种方式,受到了一些朋友的好评,让笔者备受鼓舞。于是本篇文章,我们再来学习关于Hive常用的函数,希望读者朋友们能够从中受益!
在这里插入图片描述


        Hive内部支持大量的函数,可以通过 SHOW FUNCTIONS 查看Hive的内置函数。灵活地运用Hive提供的函数能够极大地节省数据分析成本。Hive函数主要包含数学函数,集合函数,类型转换函数,日期函数,条件函数,字符串函数,聚合函数和表生成函数等。

1、数学函数

        数学函数是Hive内部提供的专门用于数学运算的函数,如round()函数和sqrt()函数等。round()函数主要用来对给定的数字进行四舍五入取近似值,如下所示:

hive (default)> SELECT ROUND(5.5);
OK
_c0
6.0
Time taken: 0.248 seconds, Fetched: 1 row(s)

        sqrt()函数表示对给定的数字取平方根,如下所示:

hive (default)> SELECT Sqrt(5);
OK
_c0
2.23606797749979
Time taken: 0.06 seconds, Fetched: 1 row(s)

2、集合函数

        集合函数是Hive内部处理集合数据的函数,如size()函数和map_keys()函数。size()函数主要用来获取 map 或者数组的长度,如下所示:

hive (default)> SELECT size(MAP("name","alice"));
OK
_c0
1
Time taken: 0.084 seconds, Fetched: 1 row(s)

        map_keys()函数主要用来获取map集合中所有的key,如下所示:

hive (default)> SELECT map_keys(MAP("name","alice"));
OK
_c0
["name"]
Time taken: 0.064 seconds, Fetched: 1 row(s)

3、类型转换函数

        Hive内部提供了一些可以将数据类型进行转换的函数,这些函数能够将某些数据类型转换为便于查询或者计算统计的数据类型。例如 cast()函数,其基本格式为 cast(value as TYPE),能够将给定的数据 value 转化为 TYPE类型,如下所示:

hive (default)> SELECT CAST("5" AS INT);
OK
_c0
5
Time taken: 0.035 seconds, Fetched: 1 row(s)

4、日期函数

        日期函数是一类专门处理日期数据的函数,能够方便地对日期数据进行转换和处理。例如:unix_timestamp()函数,其能够方便地获取服务器的时间戳,如下所示:

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

5、条件函数

        条件函数是一类进行条件判断的函数,通常会用于 WHERE 语句,如 isnull()函数和nvl()函数。isnull()函数表示如果给定的数据为 NULL,则返回 true,否则返回 false,如下所示:

hive (default)> SELECT isnull(NULL);
OK
_c0
true
Time taken: 0.059 seconds, Fetched: 1 row(s)
hive (default)> SELECT isnull(1);
OK
_c0
false
Time taken: 0.041 seconds, Fetched: 1 row(s)

6、字符串函数

        字符串函数是一类处理字符串数据的函数,可以对字符串进行拼接、转换等操作,如length()函数和concat()函数。length()函数用于获取给定字符串的长度,如下所示:

hive (default)> SELECT length('abc');
OK
_c0
3
Time taken: 0.047 seconds, Fetched: 1 row(s)

        concat()函数能够对给定的字符串进行依次拼接操作,如下所示:

hive (default)> SELECT concat('abc','def');
OK
_c0
abcdef
Time taken: 0.054 seconds, Fetched: 1 row(s)

7、聚合函数

        聚合函数是一类对数据进行统计计算的函数,能够方便地对 Hive 中的数据进行统计处理,如 count()函数和sum()函数。count()函数能够获取 Hive 数据表中的数据条数,如下所示:

hive (default)> SELECT count(*) FROM student;
_c0
8
Time taken: 2.465 seconds, Fetched: 1 row(s)

        sum()函数主要用来对数据表中的某一列数据进行求和统计,如下所示:

hive (default)> SELECT sum(s_id) FROM student;
_c0
36.0
Time taken: 1.514 seconds, Fetched: 1 row(s)

8、表生成函数

        表生成函数接收0个或者多个输入参数,产生多列或多行输出,如explode()函数,如下所示:

hive (default)> SELECT explode(array("a","b","c"));
OK
col
a
b
c
Time taken: 0.059 seconds, Fetched: 3 row(s)

        注意:explode()函数将一行的数据拆分成多行,它的参数必须为maparray

![在这里插入图片描述](https://img-blog.csdnimg.cn/20201206162531248.png#pic_center =300x300)


彩蛋

        由于篇幅有限,笔者已将Hive常用的基础函数分类,绘成了思维导图:
在这里插入图片描述
        为了方便大家阅读学习使用,笔者准备了一份Hive常用的函数大全,需要的朋友可以在评论区留下邮箱,我看到后将其发送给你。
在这里插入图片描述

小结

        Hive内部提供了大量的内置函数供开发人员或数据分析人员使用,限于篇幅,这里就不一一赘述,大家也可以参考 Hive 官方文档来了解更多的 Hive 内置函数的用法。本期内容就到这里,感谢您的阅读,感觉作者写的有点东西可以三连支持一下。你知道的越多,你不知道的也越多,我是Alice,我们下一期见!

        受益的朋友记得三连支持小菌!

文章持续更新,可以微信搜一搜「 猿人菌 」第一时间阅读,思维导图,大数据书籍,大数据高频面试题,海量一线大厂面经…期待您的关注!

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 36 9 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
大数据梦想家
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区