Hive 内置函数

Hive 内置函数

阅读更多:Hive 教程

前言

在Hive中,内置函数称为UDF(User Defined Functions),是对HQL语言的扩展,能够让Hive支持更多的数据处理及分析操作。本文将介绍Hive的一些常用内置函数,例如数学函数、字符串函数、日期函数等,以及它们的用法和示例代码。

数学函数

ABS

ABS函数用于返回一个数的绝对值。示例代码如下:

SELECT ABS(-10) as result;

输出结果为:

10

ROUND

ROUND函数用于对一个数值进行四舍五入操作。示例代码如下:

SELECT ROUND(12.345, 2) as result;

输出结果为:

12.35

TRUNCATE

TRUNCATE函数可以截断一个数值,并且不进行四舍五入操作。示例代码如下:

SELECT TRUNCATE(12.345, 2) as result;

输出结果为:

12.34

EXP

EXP函数用于返回一个数的指数值。示例代码如下:

SELECT EXP(2) as result;

输出结果为:

7.3890560989306495

字符串函数

LENGTH

LENGTH函数用于返回一个字符串的长度。示例代码如下:

SELECT LENGTH('Hello World') as result;

输出结果为:

11

CONCAT

CONCAT函数用于连接两个或多个字符串。示例代码如下:

SELECT CONCAT('Hello', 'World') as result;

输出结果为:

HelloWorld

SUBSTR

SUBSTR函数用于返回字符串的子字符串。示例代码如下:

SELECT SUBSTR('Hello World', 1, 5) as result;

输出结果为:

Hello

UPPER

UPPER函数用于将字符串转换为大写字母。示例代码如下:

SELECT UPPER('Hello World') as result;

输出结果为:

HELLO WORLD

LOWER

LOWER函数用于将字符串转换为小写字母。示例代码如下:

SELECT LOWER('Hello World') as result;

输出结果为:

hello world

TRIM

TRIM函数用于删除字符串的指定字符或空格。示例代码如下:

SELECT TRIM('   Hello World   ') as result;

输出结果为:

Hello World

日期函数

YEAR

YEAR函数用于返回日期的年份。示例代码如下:

SELECT YEAR('2022-01-01') as result;

输出结果为:

2022

MONTH

MONTH函数用于返回日期的月份。示例代码如下:

SELECT MONTH('2022-01-01') as result;

输出结果为:

01

DAY

DAY函数用于返回日期的天数。示例代码如下:

SELECT DAY('2022-01-01') as result;

输出结果为:

01

TO_DATE

TO_DATE函数用于将字符串转换为日期格式。示例代码如下:

SELECT TO_DATE('20220101', 'yyyyMMdd') as result;

输出结果为:

2022-01-01

控制流函数

CASE WHEN

CASE WHEN函数相当于嵌套的IF ELSE语句,可以用于对条件进行判断。示例代码如下:

SELECT
CASE 
  WHEN score >= 90 THEN 'A'
  WHEN score >= 80 THEN 'B'
  WHEN score >= 70 THEN 'C'
  ELSE 'D'
END AS result
FROM student;

输出结果为:

A
B
C
D

数组函数

COLLECT_SET

COLLECT_SET函数用于返回一个集合中的唯一值。示例代码如下:

SELECT COLLECT_SET(col_name) as result FROM table_name;

ARRAY

ARRAY函数用于创建一个数组。示例代码如下:

SELECT ARRAY(1, 2, 3, 4) as result;

输出结果为:

[1, 2, 3, 4]

其他常用函数

COALESCE

COALESCE函数用于返回第一个非NULL值。示例代码如下:

SELECT COALESCE(col1, col2, col3) as result FROM table_name;

NVL

NVL函数用于判断一个值是否为NULL,如果为NULL,则返回第二个参数的值。示例代码如下:

SELECT NVL(col1, 'default value') as result FROM table_name;

IF

IF函数用于对条件进行判断,如果满足条件,则返回指定的值。示例代码如下:

SELECT IF(col1 > 10, 'YES', 'NO') as result FROM table_name;

结论

本文介绍了Hive常用的内置函数,包括数学函数、字符串函数、日期函数、控制流函数、数组函数和其他常用函数。这些函数可以帮助我们更方便地对数据进行处理和分析。在使用时,需要根据实际情况选择合适的函数,并且对函数的使用方法和语法要熟悉,以充分发挥它们的作用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程