Hadoop离线是大数据生态圈的核心与基石,是整个大数据开发的入门。本次分享内容让初学者能高效、快捷掌握Hadoop必备知识,大大缩短Hadoop离线阶段学习时间,下面一起开始今天的学习!
一、Hive 函数概述及分类标准
概述
Hive内建了不少函数, 用于满足用户不同使用需求, 提高SQL编写效率:
1. 使用show functions查看当下可用的所有函数;
2. 通过describe function extended funcname来查看函数的使用方式。
分类标准
Hive的函数分为两大类: 内置函数 (Built-in Functions)、 用户定义函数UDF ( User-Defined Functions): 内置函数可分为: 数值类型函数、日期类型函数、字符串类型函数、集合函数、条件函数等;
用户定义函数根据输入输出的行数可分为3类: UDF、 UDAF、 UDTF。
用户定义函数UDF分类标准
根据函数输入输出的行数:
UDF ( User-Defined-Function)普通函数,一进一出
UDAF ( User-Defined Aggregation Function)聚合函数,多进一出
UDTF ( User-Defined Table-Generating Functions)表生成函数,一进多出
UDF分类标准扩大化
- UDF分类标准本来针对的是用户自己编写开发实现的函数。 UDF分类标准可以扩大到Hive的所有函数中: 包括内置函数和用户自定义函数。
因为不管是什么类型的函数, 一定满足于输入输出的要求,那么从输入几行和输出几行上来划分没有任何问题。
千万不要被UD ( User-Defined)这两个字母所迷惑,照成视野的狭隘。
- 比如Hive官方文档中,针对聚合函数的标准就是内置的UDAF类型。
二、Hive 常用的内置函数
概述
内置函数(build-in) 指的是Hive开发实现好, 直接可以使用的函数,也叫做内建函数。
官方文档地址: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
内置函数根据应用归类整体可以分为8大种类型, 我们将对其中重要的,使用频率高的函数使用进行详细讲解。
( 1) String Functions 字符串函数
(2) Date Functions 日期函数
( 3) Mathematical Functions 数学函数
(4) Conditional Functions 条件函数
- 主要用于条件判断、逻辑判断转换这样的场合