Hive SQL支持多种函数,这些函数可以帮助您进行数据处理和分析。以下是一些常用的Hive SQL函数:
concat(string str1, string str2, ...)
:连接一个或多个字符串。substring(string str, int begin, int length)
:从字符串str中的begin位置开始截取length个字符。lower(string str)
和 upper(string str)
:分别将字符串转换为小写和大写。trim(string str)
:去除字符串str两端的空白字符。length(string str)
:返回字符串str的长度。locate(string str, string pattern)
:在字符串str中查找模式pattern首次出现的位置。replace(string str, string pattern, string replacement)
:在字符串str中查找并替换所有出现的模式pattern为replacement。abs(int i)
和 abs(float f)
:返回数字的绝对值。acos(float f)
、asin(float f)
和 atan(float f)
:分别返回数字的反余弦、反正弦和反正切值。ceil(float f)
和 floor(float f)
:分别返回大于或等于数字f的最小整数和小于或等于数字f的最大整数。cos(float f)
、sin(float f)
和 tan(float f)
:分别返回数字的余弦、正弦和正切值。exp(float f)
:返回e的f次幂。log(float f)
和 log10(float f)
:分别返回数字的自然对数和以10为底的对数。pow(float base, float exponent)
:返回base的exponent次幂。round(float f)
和 round(decimal d, int scale)
:分别返回四舍五入后的浮点数和十进制数。sqrt(float f)
:返回数字的平方根。rand()
和 rand(int seed)
:分别返回0到1之间的随机浮点数和指定种子生成的随机浮点数序列。sum(int i)
、sum(float f)
、sum(decimal d)
:计算数值列的总和。avg(int i)
、avg(float f)
、avg(decimal d)
:计算数值列的平均值。max(int i)
、max(float f)
、max(decimal d)
和 max(string str)
:返回每组中的最大值。min(int i)
、min(float f)
、min(decimal d)
和 min(string str)
:返回每组中的最小值。count(int i)
、count(string str)
和 count(*)
:计算行数或非空字符串的数量。current_date()
和 current_timestamp()
:分别返回当前日期和时间。from_unixtime(int unixtime)
和 to_unixtime(timestamp ts)
:分别将Unix时间戳转换为日期时间格式和将日期时间格式转换为Unix时间戳。date_format(timestamp ts, string format)
:将日期时间ts格式化为指定格式的字符串。dayofmonth(timestamp ts)
、dayofweek(timestamp ts)
、dayofyear(timestamp ts)
和 month(timestamp ts)
:分别返回日期时间ts的月份中的某天、星期几、一年中的第几天和月份。hour(timestamp ts)
、minute(timestamp ts)
和 second(timestamp ts)
:分别返回日期时间ts的小时、分钟和秒。date_add(date d, int interval)
和 date_sub(date d, int interval)
:分别向日期d中添加或减去指定的时间间隔。next_day(date d, string weekday)
:返回从日期d开始的下一个指定星期几的日期。last_day(date d)
:返回日期d所在月份的最后一天。cast(timestamp ts as date)
和 cast(date d as timestamp)
:将日期时间类型转换为日期类型或将日期类型转换为日期时间类型。此外,Hive SQL还支持其他一些函数,如聚合函数(如sum_col1
、avg_col2
等,用于对列进行聚合计算)、窗口函数(如row_number()
、rank()
等,用于在结果集中为每行分配一个唯一的序号)以及用户自定义函数(UDF)等。
请注意,以上列出的函数可能因Hive版本的不同而略有差异。在实际使用中,建议查阅您所使用的Hive版本的官方文档以获取准确的函数列表和用法说明。