温馨提示×

hive的内置函数有哪些

小樊
83
2024-12-19 14:45:13
栏目: 大数据
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

Hive的内置函数非常丰富,包括数学函数、字符串函数、日期函数、聚合函数等。以下是一些常用的Hive内置函数:

  1. 数学函数
  • abs(x): 返回x的绝对值。
  • acos(x): 返回x的反余弦值。
  • asin(x): 返回x的反正弦值。
  • atan(x): 返回x的反正切值。
  • ceil(x): 返回大于或等于x的最小整数。
  • cos(x): 返回x的余弦值。
  • cot(x): 返回x的余切值。
  • degrees(x): 将x从弧度转换为度。
  • e:返回自然对数的底数e。
  • exp(x): 返回e的x次幂。
  • floor(x): 返回小于或等于x的最大整数。
  • log(x): 返回x的自然对数(底数为e)。
  • log10(x): 返回x的以10为底的对数。
  • log2(x): 返回x的以2为底的对数。
  • max(x, y): 返回x和y中的最大值。
  • min(x, y): 返回x和y中的最小值。
  • mod(x, y): 返回x除以y的余数。
  • pow(x, y): 返回x的y次幂。
  • radians(x): 将x从度转换为弧度。
  • rand(): 返回一个0到1之间的随机浮点数。
  • round(x): 返回x四舍五入后的整数。
  • sin(x): 返回x的正弦值。
  • sqrt(x): 返回x的平方根。
  • tan(x): 返回x的正切值。
  • tanh(x): 返回x的双曲正切值。
  • to_date(string): 将字符串转换为日期类型。
  • to_date(timestamp): 将时间戳转换为日期类型。
  • to_timestamp(string): 将字符串转换为时间戳类型。
  • to_timestamp(date): 将日期转换为时间戳类型。
  • unix_timestamp(date): 将日期转换为Unix时间戳。
  • unix_timestamp(timestamp): 将时间戳转换为Unix时间戳。
  • length(string): 返回字符串的长度。
  • lower(string): 将字符串转换为小写。
  • upper(string): 将字符串转换为大写。
  • trim(string): 去除字符串两端的空白字符。
  • substr(string, start, length): 从字符串中提取子串。
  • concat(string, string, ...): 将多个字符串连接成一个字符串。
  • instr(string, substring): 返回子串在字符串中的位置。
  • locate(substring, string): 返回子串在字符串中首次出现的位置。
  • replace(string, substring, new_substring): 将字符串中的子串替换为新的子串。
  • split(string, delimiter): 将字符串按照指定的分隔符拆分为数组。
  • substring(string, start, length): 从字符串中提取子串。
  • upper(string): 将字符串转换为大写。
  • word_count(string): 统计字符串中单词的数量。
  • length(array): 返回数组的长度。
  • first_element(array): 返回数组的第一个元素。
  • last_element(array): 返回数组的最后一个元素。
  • range(start, end): 返回一个从start到end的整数序列。
  • posexplode(array): 将数组中的每个元素及其索引行记录返回。
  • collect_list(array): 将数组中的所有元素收集到一个列表中。
  • collect_set(array): 将数组中的所有元素收集到一个集合中,重复的元素会被去重。
  • max_by(array, func): 返回数组中按func函数计算得到的最大值的对应元素。
  • min_by(array, func): 返回数组中按func函数计算得到的最小值的对应元素。
  • sort_array(array, ascending): 对数组进行排序,ascending指定排序顺序(升序或降序)。
  • unique(array): 返回数组中的唯一元素组成的数组。
  • posexplode(array): 返回一个行序列,其中每个行记录包含数组中的一个元素及其索引。
  • size(map): 返回map中键值对的数量。
  • keys(map): 返回map中所有的键组成的数组。
  • values(map): 返回map中所有的值组成的数组。
  • entry_schema(struct): 返回struct类型变量的模式(schema)。
  • get_json_object(string, path): 从JSON字符串中提取指定路径的值。
  • from_unixtime(unix_timestamp): 将Unix时间戳转换为字符串表示的日期和时间。
  • to_unix(timestamp): 将时间戳转换为Unix时间戳。
  • date_format(timestamp, format): 将时间戳按照指定的格式转换为字符串表示的日期。
  • dayofweek(timestamp): 返回时间戳对应的星期几(1表示星期日,7表示星期六)。
  • dayofmonth(timestamp): 返回时间戳对应的月份中的第几天。
  • month(timestamp): 返回时间戳对应的月份。
  • year(timestamp): 返回时间戳对应的年份。
  • quarter(timestamp): 返回时间戳对应的季度(1表示第一季度,2表示第二季度,依此类推)。
  • hour(timestamp): 返回时间戳对应的小时数。
  • minute(timestamp): 返回时间戳对应的分位数。
  • second(timestamp): 返回时间戳对应的秒数。
  • weekofyear(timestamp): 返回时间戳对应的年份中的第几周。
  • if(condition, then_value, else_value): 根据条件返回不同的值。
  • nullif(x, y): 如果x等于y,则返回null,否则返回x。
  • nvl(x, y): 如果x不为null,则返回x,否则返回y。
  • nvl2(condition, x, y): 如果条件为真,则返回x,否则返回y。
  • case_when(condition1, value1, condition2, value2, ..., conditionN, valueN): 根据多个条件返回不同的值。
  • greatest(x, y, ...): 返回一组数中的最大值。
  • least(x, y, ...): 返回一组数中的最小值。
  • hex(x): 将整数转换为十六进制字符串表示。
  • bin(x): 将整数转换为二进制字符串表示。
  • cast(x as data_type): 将x转换为指定的数据类型。
  • add_months(start_date, num_months): 在start_date的基础上增加num_months个月。
  • next_day(date): 返回给定日期之后的下一个工作日。
  • last_day(date): 返回给定日期所在月份的最后一天。
  • date_add(date, num_days): 在给定日期的基础上增加num_days天。
  • date_sub(date, num_days): 在给定日期的基础上减少num_days天。
  • date_diff(end_date, start_date): 计算两个日期之间的天数差。
  • month_diff(end_date, start_date): 计算两个日期之间的月份差。
  • year_diff(end_date, start_date): 计算两个日期之间的年份差。
  • next_date(date, num_days): 返回给定日期之后的num_days天对应的日期。
  • prev_date(date, num_days): 返回给定日期之前的num_days天对应的日期。
  • add_years(start_date, num_years): 在start_date的基础上增加num_years年。
  • add_quarters(start_date, num_quarters): 在start_date的基础上增加num_quarters个季度。
  • add_months(start_date, num_months): 在start_date的基础上增加num_months个月。
  • from_unixtime(unix_timestamp, format): 将Unix时间戳转换为指定格式的字符串表示的日期和时间。
  • unix_timestamp(date, format): 将指定格式的日期字符串转换为Unix时间戳。
  • to_date(unix_timestamp): 将Unix时间戳转换为日期类型。
  • to_timestamp(unix_timestamp): 将Unix时间戳转换为时间戳类型。
  • date_format(date, format): 将日期转换为指定格式的字符串表示。
  • dayofweek(date): 返回日期对应的星期几(1表示星期日,7表示星期六)。
  • dayofmonth(date): 返回日期对应的月份中的第几天。
  • month(date): 返回日期对应的月份。
  • year(date): 返回日期对应的年份。
  • quarter(date): 返回日期对应的季度(1表示第一季度,2表示第二季度,依此类推)。
  • hour(date): 返回日期对应的小时数。
  • minute(date): 返回日期对应的分位数。
  • second(date): 返回日期对应的秒数。
  • weekofyear(date): 返回日期对应的年份中的第几周。
  • date_add(date, interval): 在给定日期的基础上增加指定的时间间隔。
  • date_sub(date, interval): 在给定日期的基础上减少指定的时间间隔。
  • date_diff(end_date, start_date): 计算两个日期之间的天数差。
  • month_diff(end_date, start_date): 计算两个日期之间的月份差。
  • year_diff(end_date, start_date): 计算两个日期之间的年份差。
  • next_date(date, interval): 返回给定日期之后的指定时间间隔对应的日期。
  • prev_date(date, interval): 返回给定日期之前的指定时间间隔对应的日期。
  • add_years(start_date, num_years): 在start_date的基础上增加num_years年。
  • add_quarters(start_date, num_quarters): 在start_date的基础上增加num_quarters个季度。
  • add_months(start_date, num_months): 在start_date的基础上增加num_months个月。
  • from_unixtime(unix_timestamp, format): 将Unix时间戳转换为指定格式的字符串表示的日期和时间。
  • unix_timestamp(date, format): 将指定格式的日期字符串转换为Unix时间戳。
  • to_date(unix_timestamp): 将Unix时间戳转换为日期类型。
  • to_timestamp(unix_timestamp): 将Unix时间戳转换为时间戳类型。
  • date_format(date, format): 将日期转换为指定格式的字符串表示。
  • dayofweek(date): 返回日期对应的星期几(1表示星期日,7表示星期六)。
  • dayofmonth(date): 返回日期对应的月份中的第几天。
  • month(date): 返回日期对应的月份。
  • year(date): 返回日期对应的年份。
  • quarter(date): 返回日期对应的季度(1表示第一季度,2表示第二季度,依此类推)。
  • hour(date): 返回日期对应的小时数。
  • minute(date): 返回日期对应的分位数。
  • second(date): 返回日期对应的秒数。
  • weekofyear(date): 返回日期对应的年份中的第几周。
  • date_add(date, interval): 在给定日期的基础上增加指定的时间间隔。
  • date_sub(date, interval): 在给定日期的基础上减少指定的时间间隔。
  • date_diff(end_date, start_date): 计算两个日期之间的天数差。
  • month_diff(end_date, start_date): 计算两个日期之间的月份差。
  • year_diff(end_date, start_date): 计算两个日期之间的年份差。
  • next_date(date, interval): 返回给定日期之后的指定时间间隔对应的日期。
  • prev_date(date, interval): 返回给定日期之前的指定时间间隔对应的日期。
  • add_years(start_date, num_years): 在start_date的基础上增加num_years年。
  • add_quarters(start_date, num_quarters): 在start_date的基础上增加num_quarters个季度。
  • add_months(start_date, num_months): 在start_date的基础上增加num_months个月。
  • from_unixtime(unix_timestamp, format): 将Unix时间戳转换为指定格式的字符串表示的日期和时间。
  • unix_timestamp(date, format): 将指定格式的日期字符串转换为Unix时间戳。
  • to_date(unix_timestamp): 将Unix时间戳转换为日期类型。
  • to_timestamp(unix_timestamp): 将Unix时间戳转换为时间戳类型。
  • date_format(date, format): 将日期转换为指定格式的字符串表示。
  • dayofweek(date): 返回日期对应的星期几(1表示星期日,7表示星期六)。
  • dayofmonth(date): 返回日期对应的月份中的第几天。
  • month(date): 返回日期对应的月份。
  • year(date): 返回日期对应的年份。
  • quarter(date): 返回日期对应的季度(1表示第一季度,2表示第二季度,依此类推)。
  • hour(date): 返回日期对应的小时数。
  • minute(date): 返回日期对应的分位数。
  • second(date): 返回日期对应的秒数。
  • weekofyear(date): 返回日期对应的年份中的第几周。
  • date_add(date, interval): 在给定日期的基础上增加指定的时间间隔。
  • date_sub(date, interval): 在给定日期的基础上减少指定的时间间隔。
  • date_diff(end_date, start_date): 计算两个日期之间的天数差。
  • month_diff(end_date, start_date): 计算两个日期之间的月份差。
  • year_diff(end_date, start_date): 计算两个日期之间的年份差。
  • next_date(date, interval): 返回给定日期之后的指定时间间隔对应的日期。
  • prev_date(date, interval): 返回给定日期之前的指定时间间隔对应的日期。
  • add_years(start_date, num_years): 在start_date的基础上增加num_years年。
  • add_quarters(start_date, num_quarters): 在start_date的基础上增加num_quarters个季度。
  • add_months(start_date, num_months): 在start_date的基础上增加num_months个月。
  • from_unixtime(unix_timestamp, format): 将Unix时间戳转换为指定格式的字符串表示的日期和时间。
  • unix_timestamp(date, format): 将指定格式的日期字符串转换为Unix时间戳。
  • to_date(unix_timestamp): 将Unix时间戳转换为日期类型。
  • to_timestamp(unix_timestamp): 将Unix时间戳转换为时间戳类型。
  • date_format(date, format): 将日期转换为指定格式的字符串表示。
  • dayofweek(date): 返回日期对应的星期几(1表示星期日,7表示星期六)。
  • dayofmonth(date): 返回日期对应的月份中的第几天。
  • month(date): 返回日期对应的月份。
  • year(date): 返回日期对应的年份。
  • quarter(date): 返回日期对应的季度(1表示第一季度,2表示第二季度,依此类推)。
  • hour(date): 返回日期对应的小时数。
  • minute(date): 返回日期对应的分位数。
  • second(date): 返回日期对应的秒数。
  • weekofyear(date): 返回日期对应的年份中的第几周。
  • date_add(date, interval): 在给定日期的基础上增加指定的时间间隔。
  • date_sub(date, interval): 在给定日期的基础上减少指定的时间间隔。
  • date_diff(end_date, start_date): 计算两个日期之间的天数差。
  • month_diff(end_date, start_date): 计算两个日期之间的月份差。
  • year_diff(end_date, start_date): 计算两个日期之间的年份差。
  • next_date(date, interval): 返回给定日期之后的指定时间间隔对应的日期。
  • prev_date(date, interval): 返回给定日期之前的指定时间间隔对应的日期。
  • add_years(start_date, num_years): 在start_date的基础上增加num_years年。
  • `add_quarters(start_date, num_quarters)

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:hive的内置函数有哪些分类

0