Hive SQL函数详解:从关系到日期运算

需积分: 9 2 下载量 125 浏览量 更新于2024-07-17 收藏 247KB DOC 举报
"Hive函数大全.doc" 在大数据处理领域,Hive SQL是Hadoop平台上的重要工具,用于数据挖掘和ETL(提取、转换、加载)任务。本文档详述了Hive中的一系列常用函数,涵盖了关系运算、数学运算、逻辑运算以及数值计算等多个方面,帮助用户更高效地操作和分析大数据。 一、关系运算: 关系运算主要用于比较两个值的大小或相等性。包括: 1. 等值比较:`=`, 用于检查两个表达式是否相等。 2. 不等值比较:`<>`, 检查两个表达式是否不相等。 3. 小于比较:`<`, 比较一个值是否小于另一个。 4. 小于等于比较:`<=`, 检查是否小于或等于。 5. 大于比较:`>`, 比较一个值是否大于另一个。 6. 大于等于比较:`>=`, 检查是否大于或等于。 7. 空值判断:`ISNULL`, 判断一个表达式是否为NULL。 8. 非空判断:`ISNOTNULL`, 判断一个表达式是否不为NULL。 9. LIKE比较:`LIKE`, 用于模式匹配,支持通配符 `%` 和 `_`。 10. JAVA的LIKE操作:`RLIKE`, 类似LIKE,但支持正则表达式。 11. REGEXP操作:`REGEXP`, 使用正则表达式进行匹配。 二、数学运算: Hive提供了基本的算术运算符: 1. 加法操作:`+`, 两个数值的和。 2. 减法操作:`-`, 一个数值减去另一个。 3. 乘法操作:`*`, 两个数值的乘积。 4. 除法操作:`/`, 一个数值除以另一个。 5. 取余操作:`%`, 除法后的余数。 6. 位与操作:`&`, 对两个数值进行按位与操作。 7. 位或操作:`|`, 按位或操作。 8. 位异或操作:`^`, 按位异或操作。 9. 位取反操作:`~`, 对数值进行按位取反。 三、逻辑运算: 1. 逻辑与操作:`AND`, 如果两个条件都为真,则结果为真。 2. 逻辑或操作:`OR`, 如果至少有一个条件为真,则结果为真。 3. 逻辑非操作:`NOT`, 反转布尔值。 四、数值计算: 这部分包括各种数值处理函数: 1. 取整函数:`round`, 对数字进行四舍五入。 2. 指定精度取整:`round`, 可以指定小数位数的取整。 3. 向下取整:`floor`, 返回小于或等于给定数字的最大整数。 4. 向上取整:`ceil` 和 `ceiling`, 返回大于或等于给定数字的最小整数。 5. 取随机数:`rand`, 生成0到1之间的随机浮点数。 6. 自然指数:`exp`, 计算e的幂。 7. 以10为底的对数:`log10`, 计算以10为底的对数。 8. 以2为底的对数:`log2`, 计算以2为底的对数。 9. 一般对数:`log`, 计算以10为底的对数(默认),可指定底数。 10. 幂运算:`pow` 和 `power`, 计算一个数的幂。 11. 开平方:`sqrt`, 计算一个数的平方根。 12. 二进制:`bin`, 将十进制数转换为二进制字符串。 13. 十六进制:`hex`, 将十进制数转换为十六进制字符串。 14. 反转十六进制:`unhex`, 将十六进制字符串转换回十进制数。 15. 进制转换:`conv`, 在不同进制间转换数字。 16. 绝对值:`abs`, 获取一个数的绝对值。 17. 正取余:`pmod`, 返回两数相除的正余数。 18. 正弦:`sin`, 计算弧度的正弦值。 19. 反正弦:`asin`, 计算正弦的弧度值。 20. 余弦:`cos`, 计算弧度的余弦值。 21. 反余弦:`acos`, 计算余弦的弧度值。 22. positive:`positive`, 返回正数,对负数不做处理。 23. negative:`negative`, 返回负数,对正数不做处理。 五、日期函数: Hive提供了一系列日期处理函数,方便对日期和时间进行操作: 1. UNIX时间戳转日期:`from_unixtime`, 将UNIX时间戳转换为日期格式。 2. 获取当前UNIX时间戳:`unix_timestamp`, 返回当前时间的UNIX时间戳。 3. 日期转UNIX时间戳:`unix_timestamp`, 将日期转换为UNIX时间戳。 4. 指定格式日期转UNIX时间戳:`unix_timestamp`, 支持自定义日期格式。 5. 日期时间转日期:`to_date`, 从日期时间中提取日期部分。 6. 日期转年:`year`, 提取日期中的年份。 7. 日期转月:`month`, 提取日期中的月份。 8. 日期转天:`day`, 提取日期中的日。 9. 日期转小时:`hour`, 提取日期时间中的小时。 10. 日期转分钟:`min`, 提取日期时间中的分钟。 这些函数极大地丰富了Hive SQL的功能,使得在Hadoop平台上进行数据处理变得更加便捷和灵活。无论是进行数据查询、统计分析还是复杂的业务逻辑,都能找到相应的函数来满足需求。