Hive

hive的内置函数有哪些分类

小樊
81
2024-12-19 14:50:50
栏目: 大数据

Hive的内置函数主要可以分为以下几类:

  1. 字符串处理函数

    • 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): 从字符串中提取与正则表达式匹配的内容。
  2. 数学函数

    • 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): 返回数字的正切值。
  3. 日期和时间函数

    • 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): 将字符串转换为时间戳。
  4. 聚合函数

    • 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)。
  5. 其他函数

    • 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文档以获取最准确的信息。

0
看了该问题的人还看了