Hive内置函数涵盖数学、字符串、日期、类型转换、条件、聚合及高级操作等类别。参数如round(小数)返回整数,concat拼接字符串遇null则结果为null,current_date无参数返回当前日期,cast(valueastype)转换数据类型,if根据条件返回不同值,avg计算非空值平均值。掌握这些函数可高效处理数据清洗、转换与聚合。
Hive内置函数参数返回值详解
作者:技术拾光
时间:2026-06-07
浏览:599
文章目录
在Hive数据处理中,内置函数是极为实用的工具,能够直接嵌入SQL查询,无需自定义开发。初学者常被函数的参数和返回值所困扰,但理清后会发现其规律。下面将详细解析Hive内置函数的参数及返回值。

Hive内置函数
- 数学函数:包括取整函数(如
round、floor、ceil),幂运算函数(如pow),数学常量(如pi),以及随机数生成函数(如rand)。日常数值计算时,这些函数基本够用。 - 字符串函数:处理字符串数据的主力,比如拼接(
concat)、截取(substr)、长度(length)、大小写转换(lower/upper)等。对文本进行任何操作,可优先查看此分类。 - 日期函数:专门处理日期和时间,如
current_date获取当天日期,date_add增加天数,datediff计算间隔,to_date提取日期部分。时间相关的业务逻辑依赖这些函数。 - 类型转换函数:核心为
cast,将数据从一种类型强制转换为另一种,例如字符串转整数。正确使用可避免许多隐式类型错误。 - 条件函数:
if、case when等,根据条件返回不同结果。这是SQL中的分支语句,逻辑判断离不开它们。 - 聚合函数:汇总计算中的常用函数——
avg平均值、count计数、max最大值、min最小值。报表和分析几乎每个查询都会用到。 - 其他函数:包括数组操作、映射操作、正则表达式操作等高级功能。当数据以复杂结构(如JSON、数组)存储时,这些函数发挥作用。
参数及返回值示例
数学函数
round(double a):返回四舍五入后的整数值。若传入小数,按常规四舍五入到整数。pow(double a, double p):返回a的p次幂。例如pow(2,3)结果为8.0。
字符串函数
concat(string a, string b…):将多个字符串按顺序拼接,返回完整字符串。若某个参数为null,整段结果为null,需注意。lower(string a):将字符串中所有字母转为小写,返回新字符串。不改变原数据,仅影响查询结果。
日期函数
current_date():返回当前日期,无参数,结果格式为yyyy-MM-dd。date_add(date, 天数):在给定日期基础上增加指定天数(可为负数,相当于减),返回新日期。例如date_add('2025-01-01', 10)得到2025-01-11。
类型转换函数
cast(value as type):将值转换为指定数据类型。例如cast('123' as int)得到整数123。转换失败时,返回null或抛出异常,取决于具体上下文。
条件函数
if(boolean testCondition, t valueTrue, t valueFalseOrNull):条件为真时返回第二个参数,否则返回第三个参数。可理解为三目运算,常用于简单条件赋值。
聚合函数
avg(column_name):计算某列所有非空值的平均值,返回double类型。若该列全部为null,结果也为null。
使用场景
这些内置函数几乎覆盖了数据处理的各个方面——无论是数据清洗(如去空格、格式转换)、转换(如类型转换、日期计算)、聚合(如分组汇总),还是复杂分析(如正则匹配、数组展开),都能找到对应函数。熟悉它们,就等于掌握了Hive SQL的关键工具。
实际项目中,每个函数的细节(如边界情况、null处理、性能特点)建议对照官方文档确认,因为不同版本可能存在细微差异。但掌握上述常用函数的参数和返回值,日常查询已足够使用。
实用工具推荐
电子包浆
使用 ›绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
图片压缩
使用 ›选择画质和输出格式,预览压缩前后的大小。
相关文章