Hive内置函数提供了许多用于数据转换的功能
字符串处理函数:
UPPER(string str)
: 将字符串转换为大写。LOWER(string str)
: 将字符串转换为小写。TRIM(string str)
: 去除字符串两端的空白字符。LTRIM(string str)
: 去除字符串左侧的空白字符。RTRIM(string str)
: 去除字符串右侧的空白字符。SUBSTR(string str, int start, int length)
: 从字符串中提取子字符串。INSTR(string str, string pattern)
: 返回子字符串在字符串中首次出现的位置。REPLACE(string str, string pattern, string replacement)
: 将字符串中的指定模式替换为另一个字符串。数值处理函数:
CAST(value AS data_type)
: 将一个值转换为指定的数据类型。ADD_MONTHS(date date, int months)
: 向日期添加指定的月数。DATEDIFF(date date1, date date2)
: 计算两个日期之间的天数差。MONTHS_BETWEEN(date date1, date date2)
: 计算两个日期之间的月份差。ROUND(double value, int scale)
: 将浮点数四舍五入到指定的小数位数。CEIL(double value)
: 返回大于或等于给定值的最小整数。FLOOR(double value)
: 返回小于或等于给定值的最大整数。EXP(double number)
: 计算自然指数。LN(double number)
: 计算自然对数。LOG10(double number)
: 计算以10为底的对数。RAND()
: 生成一个0到1之间的随机浮点数。RAND(int seed)
: 生成一个指定种子值的0到1之间的随机浮点数。日期时间处理函数:
CURRENT_DATE()
: 获取当前日期。CURRENT_TIMESTAMP()
: 获取当前日期和时间。FROM_UNIXTIME(int timestamp)
: 将Unix时间戳转换为日期时间格式。TO_UNIXTIME(date date)
: 将日期时间格式转换为Unix时间戳。DATE_ADD(date date, int interval)
: 向日期添加指定的时间间隔。DATE_SUB(date date, int interval)
: 从日期减去指定的时间间隔。DAYOFWEEK(date date)
: 返回日期是星期几(1表示星期日,7表示星期六)。DAYOFMONTH(date date)
: 返回日期是月份的第几天。DAYOFYEAR(date date)
: 返回日期是一年中的第几天。WEEKOFYEAR(date date)
: 返回日期是今年的第几周。YEAR(date date)
: 返回日期的年份。QUARTER(date date)
: 返回日期的季度。MONTH(date date)
: 返回日期的月份。WEEK(date date)
: 返回日期是星期几(1表示星期一,7表示星期日)。集合处理函数:
COLLECT_LIST(expression)
: 收集同一组行的表达式值组成的列表。COLLECT_SET(expression)
: 收集同一组行的表达式值组成的唯一值集合。SIZE(collection)
: 返回集合的大小。UNION_ALL(collection1, collection2, ...)
: 合并多个集合,去除重复元素。INTERSECT_ALL(collection1, collection2, ...)
: 返回多个集合的交集。EXCEPT_ALL(collection1, collection2, ...)
: 返回多个集合的差集。这些内置函数可以帮助您轻松地对Hive表中的数据进行转换。在实际应用中,您可以根据需要组合使用这些函数以满足特定的数据处理需求。