当前位置: 首页 > news >正文

spark labeledpoint函数用法_Hive常用的函数总结

点击上方蓝色“猿人菌”,关注并选择“设为星标”

持之以恒,贵在坚持,每天进步一点点!

前言

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

690dee000f221c5a3eac68fd9d90f36d.png

本文首发链接:

www.ebaina.com/articles/140000005086

作者:猿人菌


        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

4e0b05e8e5138073744017b9c0c1fb72.png

彩蛋

        由于篇幅有限,笔者已将Hive常用的基础函数分类,绘成了思维导图:9797c93e68d53beff4f2b9803d4b1f60.png        为了方便大家阅读学习使用,笔者准备了一份Hive常用的函数大全,需要的朋友可以添加笔者的微信,我看到后将其发送给你。

220d24ba5c1fd97ea12b7ff0b7c777b5.png

小结

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

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

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

97a11d9a950fa1fd1a239eba74ac203c.gif

往期推荐

7c672194a1cc7dc6dcecffbbdab5a873.png

Hive查询的18种方式,你都学会了吗?

8ab846328ad0d9c53bd76f176a90af25.png

20个Spark热门技术点,你都掌握了吗?

7d5bf7f83511b2dda53e69ef272c468b.png

基于 flink 的电商用户行为数据分析【5】| 基于埋点日志数据的网络流量统计

a56652eab5e1f77f9b3beaae33fd0905.png

311b0b2d55bf3d0eb5fd4e9b9be83924.png你点的每个在看,我都认真当成了喜欢!

相关文章:

  • python字符串子串替换方法_python替换字符串中的子串图文步骤
  • 多选框位置调整_水下目标检测竞赛冠军方案:多图像融合增强 | URPC 2019
  • unexpected eof while parsing什么意思_少侠留步!你知道if、while和递归之间的关系吗?...
  • python batch normalization_使用Python实现Batch normalization和卷积层
  • python 模糊匹配库_Python中实现模糊匹配的魔法库:FuzzyWuzzy
  • apache ii评分怎么评_雅思分数怎么算?评分标准了解下
  • 百度搜索接口api_搜索推广丨oCPC投放API接入方式详解
  • python做界面_windows下用python调用HFSS
  • 单元测试用例_3.编写django单元测试用例
  • 各类社交app图标_开发一款社交APP前期如何做推广?
  • 序列化python_Python的序列化问题
  • qt源码 干部档案管理系统_企业干部人事档案管理如何迈向信息化
  • sap期初导资产代码_2020-10 补丁日:SAP多个产品高危漏洞安全风险通告
  • 拉普拉斯定理_概率微课:第五章6 狄莫佛拉普拉斯定理
  • 欧姆龙cp1hum读保护解密步骤_S7-300_400程序块的加密与解密操作
  • JavaScript-如何实现克隆(clone)函数
  • eclipse的离线汉化
  • in typeof instanceof ===这些运算符有什么作用
  • Java,console输出实时的转向GUI textbox
  • Java|序列化异常StreamCorruptedException的解决方法
  • JavaScript函数式编程(一)
  • Netty源码解析1-Buffer
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • PHP CLI应用的调试原理
  • vue--为什么data属性必须是一个函数
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 排序算法之--选择排序
  • 扑朔迷离的属性和特性【彻底弄清】
  • 前端代码风格自动化系列(二)之Commitlint
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 我是如何设计 Upload 上传组件的
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • ​人工智能书单(数学基础篇)
  • #Linux(make工具和makefile文件以及makefile语法)
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
  • (ibm)Java 语言的 XPath API
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (初研) Sentence-embedding fine-tune notebook
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (转载)深入super,看Python如何解决钻石继承难题
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NET多线程执行函数
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • .net与java建立WebService再互相调用
  • .ui文件相关
  • @cacheable 是否缓存成功_Spring Cache缓存注解
  • []T 还是 []*T, 这是一个问题
  • [20150321]索引空块的问题.txt