温馨提示×

内置函数在Hive SQL中的常见用法

小樊
81
2024-12-20 19:26:10
栏目: 云计算

Hive SQL内置函数主要用于数据处理、字符串操作、数学计算和聚合等任务

  1. 字符串操作函数:

    • LENGTH(string): 返回字符串的长度。
    • SUBSTR(string, start, length): 从给定字符串中提取子字符串。
    • UPPER(string): 将字符串转换为大写。
    • LOWER(string): 将字符串转换为小写。
    • TRIM(string): 去除字符串两端的空白字符。
    • REPLACE(string, old_substring, new_substring): 将字符串中的指定子串替换为另一个子串。
    • INSTR(string, substring): 返回子串在字符串中首次出现的位置。
    • POSITION(string, substring): 返回子串在字符串中所有出现的位置。
  2. 数学计算函数:

    • ABS(number): 返回数字的绝对值。
    • MOD(number, divisor): 返回数字除以除数的余数。
    • RAND(): 返回一个随机数。
    • RAND(seed): 返回一个基于给定种子值的随机数。
    • CEIL(number): 返回大于或等于给定数字的最小整数。
    • FLOOR(number): 返回小于或等于给定数字的最大整数。
    • ROUND(number, scale): 返回四舍五入到指定小数位数的数字。
    • EXP(number): 返回自然数e的给定次幂。
    • LN(number): 返回给定数字的自然对数。
    • LOG10(number): 返回给定数字的以10为底的对数。
    • SQRT(number): 返回给定数字的平方根。
  3. 数据类型转换函数:

    • CAST(expression AS data_type): 将表达式的结果转换为指定的数据类型。
    • CONVERT(expression USING format): 将表达式的结果转换为指定的字符集。
  4. 日期和时间操作函数:

    • CURRENT_DATE: 返回当前日期。
    • CURRENT_TIMESTAMP: 返回当前时间戳。
    • UNIX_TIMESTAMP(date): 将给定的日期转换为自1970年1月1日以来的秒数。
    • FROM_UNIXTIME(timestamp): 将给定的Unix时间戳转换为日期时间格式。
    • DATE_ADD(date, interval): 在给定的日期上添加指定的时间间隔。
    • DATE_SUB(date, interval): 从给定的日期中减去指定的时间间隔。
    • DATEDIFF(date1, date2): 计算两个日期之间的天数差。
    • YEAR(date): 返回给定日期的年份。
    • MONTH(date): 返回给定日期的月份。
    • DAY(date): 返回给定日期的天数。
    • HOUR(timestamp): 返回给定时间戳的小时数。
    • MINUTE(timestamp): 返回给定时间戳的分钟数。
    • SECOND(timestamp): 返回给定时间戳的秒数。
    • WEEKOFYEAR(date): 返回给定日期所在的年份中的周数。
    • DAYOFWEEK(date): 返回给定日期是星期几(1表示星期日,7表示星期六)。
  5. 聚合函数:

    • SUM(numeric_expression): 计算数值列的总和。
    • AVG(numeric_expression): 计算数值列的平均值。
    • COUNT(expression): 计算行数或非空值的数量。
    • MIN(numeric_expression): 返回数值列的最小值。
    • MAX(numeric_expression): 返回数值列的最大值。
    • COUNT(DISTINCT expression): 计算数值列的不同值的数量。
    • GROUP_CONCAT(string_expression [SEPARATOR string]): 将同一组中的所有字符串连接成一个字符串,并用指定的分隔符分隔。
    • HAVING (condition): 对聚合后的结果进行过滤。

这些内置函数可以帮助您在Hive SQL中更有效地处理和分析数据。

0