Hive的内置函数主要可以分为以下几类:
字符串处理函数:
length(string)
: 返回字符串的长度。substr(string, start, length)
: 从字符串的第start个位置开始截取length个字符。concat(string1, string2, ...)
: 连接两个或多个字符串。lower(string)
: 将字符串转换为小写。upper(string)
: 将字符串转换为大写。trim(string)
: 去除字符串两端的空白字符。like(string, pattern)
: 判断字符串是否与模式串匹配。regexp_extract(string, pattern, index)
: 从字符串中提取与正则表达式匹配的内容。数学函数:
abs(number)
: 返回数字的绝对值。acos(number)
: 返回数字的反余弦值。asin(number)
: 返回数字的反正弦值。atan(number)
: 返回数字的反正切值。ceil(number)
: 返回大于或等于数字的最小整数。cos(number)
: 返回数字的余弦值。exp(number)
: 返回自然数e的指数幂。floor(number)
: 返回小于或等于数字的最大整数。log(number)
: 返回数字的自然对数。log10(number)
: 返回数字的以10为底的对数。rand()
: 返回0到1之间的随机数。round(number)
: 返回四舍五入后的数字。sin(number)
: 返回数字的正弦值。sqrt(number)
: 返回数字的平方根。tan(number)
: 返回数字的正切值。日期和时间函数:
current_date()
: 返回当前日期。current_timestamp()
: 返回当前时间戳。date_add(date, interval)
: 在日期上添加指定的时间间隔。date_sub(date, interval)
: 从日期中减去指定的时间间隔。dayofmonth(date)
: 返回日期是月份的第几天。dayofweek(date)
: 返回日期是星期几(1表示星期日,7表示星期六)。dayofyear(date)
: 返回日期是一年中的第几天。hour(timestamp)
: 返回时间戳的小时部分。minute(timestamp)
: 返回时间戳的分钟部分。month(date)
: 返回日期的月份部分。next_day(date, weekday)
: 返回给定日期之后的下一个指定星期几的日期。quarter(date)
: 返回日期的季度部分。second(timestamp)
: 返回时间戳的秒部分。unix_timestamp(date)
: 将日期转换为Unix时间戳。from_unixtime(unix_timestamp)
: 将Unix时间戳转换为日期。to_date(string)
: 将字符串转换为日期。to_timestamp(string)
: 将字符串转换为时间戳。聚合函数:
avg(numeric)
: 计算数值的平均值。count(string)
: 计算非空字符串的数量。count(distinct string)
: 计算非空字符串的不同值的数量。first_value(numeric)
: 返回某列的第一个非空值。last_value(numeric)
: 返回某列的最后一个非空值。max(numeric)
: 计算数值的最大值。min(numeric)
: 计算数值的最小值。sum(numeric)
: 计算数值的总和。var_pop(numeric)
: 计算数值的样本方差。var_samp(numeric)
: 计算数值的样本方差(与var_pop的区别在于分母是n-1)。stddev(numeric)
: 计算数值的标准差。stddev_pop(numeric)
: 计算数值的总体标准差。stddev_samp(numeric)
: 计算数值的样本标准差(与stddev_pop的区别在于分母是n-1)。其他函数:
if(boolean, string, string)
: 根据布尔值返回两个字符串中的一个。nullif(string, string)
: 如果两个字符串相等,则返回null,否则返回第一个字符串。case_when(boolean, string, ...)
: 根据多个条件返回不同的字符串值。expr(string)
: 解析并计算表达式。posexplode(array)
: 将数组展开为行和列的形式。json_tuple(string, string, ...)
: 将JSON字符串解析为多个字符串值。stack(string, string, ...)
: 将多个字符串值堆叠成一个数组。sort_array(array)
: 对数组进行排序。unique(array)
: 返回数组中的唯一值。布隆过滤器(string, string)
: 使用布隆过滤器检查一个元素是否可能存在于集合中。哈希(string, string)
: 计算两个字符串的哈希值。正则表达式_extract(string, string)
: 从字符串中提取与正则表达式匹配的内容。正则表达式_replace(string, string)
: 使用正则表达式替换字符串中的内容。地理空间函数
(Hive 3.0及更高版本支持):如ST_Distance
, ST_Intersects
, ST_Within
等,用于处理地理空间数据。请注意,Hive的内置函数可能会随着版本的更新而发生变化。建议查阅最新的Hive文档以获取最准确的信息。