温馨提示×

hive数据类型支持哪些内置函数

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

Hive数据类型支持多种内置函数,这些函数可以帮助您进行数据处理和分析。以下是一些常见的Hive内置函数:

  1. 字符串函数
  • 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。
  • split(string str, string pattern):使用模式pattern将字符串str分割成子串数组。
  1. 数学函数
  • 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):分别返回数字f的自然对数和以10为底的对数。
  • pow(float b, float p):返回b的p次幂。
  • rand():返回一个0到1之间的随机浮点数。
  • round(float f):将浮点数f四舍五入到最接近的整数。
  • sin(float f)cos(float f)tan(float f):这些函数与数学函数中的同名函数功能相同,但用于角度制(而非弧度制)。
  • sqrt(float f):返回数字f的平方根。
  • tan(float f):返回数字f的正切值。
  • to_date(string date)to_date(timestamp timestamp):将字符串或时间戳转换为日期类型。
  • from_unixtime(int unixtime):将Unix时间戳转换为日期类型。
  • unix_timestamp(date date)unix_timestamp(string date):将日期或字符串转换为Unix时间戳。
  • add_months(date d, int m):在日期d上添加指定的月数。
  • date_add(date d, int m):与add_months功能相同。
  • date_sub(date d, int m):从日期d中减去指定的月数。
  • next_day(date d):返回日期d之后的下一个工作日。
  • last_day(date d):返回日期d所在月份的最后一天。
  • month(date d):返回日期d的月份。
  • quarter(date d):返回日期d所在的季度。
  • year(date d):返回日期d的年份。
  • dayofweek(date d):返回日期d是星期几(1表示星期日,7表示星期六)。
  • dayofyear(date d):返回日期d是一年中的第几天。
  • weekofyear(date d):返回日期d所在的周数。
  • if(boolean b, string t, string f):根据布尔值b的值返回t或f。
  • case_when(boolean b, string t, string f, ...):根据多个条件返回不同的值。
  • greatest(string s1, string s2, ...)least(string s1, string s2, ...):分别返回一组字符串中的最大值和最小值。
  • hex(int i)unhex(string str):将整数转换为十六进制字符串或将十六进制字符串转换为整数。
  • length(array a):返回数组a的长度。
  • size(map m):返回Map类型m的大小。
  • cast(anytype a as type):将数据类型a转换为指定的数据类型。
  • date_format(date d, string format):将日期d格式化为指定的字符串格式。
  • from_unixtime(int unixtime, string format):将Unix时间戳转换为指定格式的日期字符串。
  • unix_timestamp(string date, string format):将指定格式的日期字符串转换为Unix时间戳。
  • to_date(string date, string format):将指定格式的日期字符串转换为日期类型。
  • year(timestamp ts)month(timestamp ts)day(timestamp ts)hour(timestamp ts)minute(timestamp ts)second(timestamp ts)weekofyear(timestamp ts)quarter(timestamp ts)dayofyear(timestamp ts)is_leap_year(timestamp ts):这些函数用于从时间戳中提取年份、月份、日期等属性。
  • date_diff(date d1, date d2):计算两个日期之间的天数差。
  • add_days(date d, int n)sub_days(date d, int n):分别在日期d上添加或减去指定的天数。
  • add_months(date d, int n)sub_months(date d, int n):分别在日期d上添加或减去指定的月数。
  • add_years(date d, int n)sub_years(date d, int n):分别在日期d上添加或减去指定的年数。
  • next_date(date d):返回日期d之后的下一个日期。
  • prev_date(date d):返回日期d之前的上一个日期。
  • str_to_date(string str, string format):将字符串转换为日期类型,需要指定格式。
  • date_to_str(date d, string format):将日期转换为字符串,需要指定格式。
  • from_unixtime(long unixtime):将Unix时间戳转换为日期类型。
  • unix_timestamp(date date):将日期转换为Unix时间戳。
  • datediff(date d1, date d2):计算两个日期之间的天数差。
  • add_year(date d, int n)sub_year(date d, int n):分别在日期d上添加或减去指定的年数。
  • add_quarter(date d, int n)sub_quarter(date d, int n):分别在日期d上添加或减去指定的季度数。
  • add_month(date d, int n)sub_month(date d, int n):分别在日期d上添加或减去指定的月数。
  • add_day(date d, int n)sub_day(date d, int n):分别在日期d上添加或减去指定的天数。
  • add_hour(date d, int n)sub_hour(date d, int n):分别在日期d上添加或减去指定的小时数。
  • add_minute(date d, int n)sub_minute(date d, int n):分别在日期d上添加或减去指定的分钟数。
  • add_second(date d, int n)sub_second(date d, int n):分别在日期d上添加或减去指定的秒数。
  • date_trunc(string date_format, date d):将日期d截断为指定的日期格式。
  • date_trunc('month', date d)date_trunc('day', date d) 等:这些函数用于将日期截断到指定的时间单位(如月、日、小时等)。
  • week(date d):返回日期d所在的周数。
  • yearstart(date d)yeareend(date d):分别返回日期d所在年份的开始和结束日期。
  • quarterstart(date d)quarterend(date d):分别返回日期d所在季度的开始和结束日期。
  • dayofweek(date d):返回日期d是星期几(1表示星期日,7表示星期六)。
  • dayofyear(date d):返回日期d是一年中的第几天。
  • hour(timestamp ts)minute(timestamp ts)second(timestamp ts):这些函数用于从时间戳中提取小时、分钟和秒属性。
  • date_add(date d, interval n)date_sub(date d, interval n):分别将指定的时间间隔n加到日期d上或从日期d中减去。
  • date_format(date d, string format):将日期d格式化为指定的字符串格式。
  • unix_timestamp(date d, string format):将日期d转换为Unix时间戳,需要指定格式。
  • to_date(unix_timestamp ts):将Unix时间戳转换为日期类型。
  • next_day(date d, string weekday):返回日期d之后的下一个指定星期几的日期。
  • last_day(date d, string weekday):返回日期d之前的上一个指定星期几的日期。
  • str_to_date(string str, string format):将字符串转换为日期类型,需要指定格式。
  • date_to_str(date d, string format):将日期转换为字符串,需要指定格式。
  • from_unixtime(long unixtime):将Unix时间戳转换为日期类型。
  • unix_timestamp(date d):将日期转换为Unix时间戳。
  • datediff(date d1, date d2):计算两个日期之间的天数差。
  • add_year(date d, int n)sub_year(date d, int n):分别在日期d上添加或减去指定的年数。
  • add_quarter(date d, int n)sub_quarter(date d, int n):分别在日期d上添加或减去指定的季度数。
  • add_month(date d, int n)sub_month(date d, int n):分别在日期d上添加或减去指定的月数。
  • add_day(date d, int n)sub_day(date d, int n):分别在日期d上添加或减去指定的天数。
  • add_hour(date d, int n)sub_hour(date d, int n):分别在日期d上添加或减去指定的小时数。
  • add_minute(date d, int n)sub_minute(date d, int n):分别在日期d上添加或减去指定的分钟数。
  • add_second(date d, int n)sub_second(date d, int n):分别在日期d上添加或减去指定的秒数。
  • date_trunc(string date_format, date d):将日期d截断为指定的日期格式。
  • week(date d):返回日期d所在的周数。
  • yearstart(date d)yeareend(date d):分别返回日期d所在年份的开始和结束日期。
  • quarterstart(date d)quarterend(date d):分别返回日期d所在季度的开始和结束日期。
  • dayofweek(date d):返回日期d是星期几(1表示星期日,7表示星期六)。
  • dayofyear(date d):返回日期d是一年中的第几天。
  • hour(timestamp ts)minute(timestamp ts)second(timestamp ts):这些函数用于从时间戳中提取小时、分钟和秒属性。
  • date_add(date d, interval n)date_sub(date d, interval n):分别将指定的时间间隔n加到日期d上或从日期d中减去。
  • date_format(date d, string format):将日期d格式化为指定的字符串格式。
  • unix_timestamp(date d, string format):将日期d转换为Unix时间戳,需要指定格式。
  • to_date(unix_timestamp ts):将Unix时间戳转换为日期类型。
  • next_day(date d, string weekday):返回日期d之后的下一个指定星期几的日期。
  • last_day(date d, string weekday):返回日期d之前的上一个指定星期几的日期。
  • str_to_date(string str, string format)

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

推荐阅读:mybatis hive支持哪些数据类型

0