[TOC]
# HIve常用函数
## 函数分类
![](https://box.kancloud.cn/1308dfed90fa03e6f392c52a44b3a420_543x360.png)
## HIVE CLI命令
> 显示当前会话有多少函数可用
~~~
SHOW FUNCTIONS;
~~~
> 显示函数的描述信息
~~~
DESC FUNCTION concat;
~~~
![](https://box.kancloud.cn/c2e157036b69df8086241a7eaf59947c_518x79.png)
> 显示函数的扩展描述信息
~~~
DESC FUNCTION EXTENDED concat;
~~~
## 简单函数
> 函数的计算粒度为单条记录。
* 关系运算
* 数学运算
* 逻辑运算
* 数值计算
* 类型转换
* 日期函数
* 条件函数
* 字符串函数
* 统计函数
* 聚合函数
> 函数处理的数据粒度为多条记录。
* sum()—求和
* count()—求数据量
* avg()—求平均直
* distinct—求不同值数
* min—求最小值
* max—求最人值
## 集合函数
* 复合类型构建
* 复杂类型访问
* 复杂类型长度
## 特殊函数
### 窗口函数
> 应用场景
* 用于分区排序
* 动态Group By
* Top N
* 累计计算
* 层次查询
* Windowing functions
~~~
lead
lag
FIRST_VALUE
LAST_VALUE
~~~
### 分析函数
> Analytics functions
~~~
RANK
ROW_NUMBER
DENSE_RANK
CUME_DIST
PERCENT_RANK
NTILE
~~~
### 混合函数
~~~
java_method(class,method [,arg1 [,arg2])reflect(class,method [,arg1 [,arg2..]])hash(a1 [,a2...])
~~~
### UDTF
~~~
lateralView: LATERAL VIEW udtf(expression) tableAlias AS columnAlias (‘,‘ columnAlias)* fromClause: FROM baseTable (lateralView)*
~~~
> ateral view用于和split, explode等UDTF一起使用,它能够将一行数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。lateral view首先为原始表的每行调用UDTF,UTDF会把一行拆分成一或者多行,lateral view再把结果组合,产生一个支持别名表的虚拟表。
## 常用函数Demo:
~~~
create table employee(
id string,
money double,
type string)row format delimited
fields terminated by ‘\t‘
lines terminated by ‘\n‘
stored as textfile;load data local inpath ‘/liguodong/hive/data‘ into table employee;select * from employee;
优先级依次为NOT AND ORselect id,money from employee where (id=‘1001‘ or id=‘1002‘) and money=‘100‘;
~~~
- hadoop
- linux基础
- Linux入门
- Linux进阶
- shell
- Zookeeper
- Zookeeper简介及部署
- Zookeeper使用及API
- Redis
- Redis简介安装部署
- Redis使用及API
- Java高级增强
- Java多线程增强
- Maven简介及搭建
- Hive
- Hive简介及安装
- Hive操作
- HIve常用函数
- Hive数据类型
- Flume
- Flume简介及安装
- flume 拦截器(interceptor)
- azkaban
- azKaban简介及安装
- Sqoop
- Sqoop简介及安装
- HDFS
- HDFS原理
- HDFS操作API
- MAPREDUCE原理
- MAPREDUCE图片资源
- MAPREDUCE加强
- HBASE
- HBASE简介及安装
- HBASE操作及API
- HBASE内部原理
- Storm
- Storm简介及安装
- Storm原理
- kafka
- kafka简介及安装
- kafka常用操作及API
- kafka原理
- kafka配置详解
- Scala
- Scala简介及安装
- Scala基础语法
- Scala实战