Hive函数详解:从关系到日期运算
需积分: 50 101 浏览量
更新于2024-07-19
2
收藏 198KB DOC 举报
"这篇文档详尽地列举了Hive中的各种函数,包括关系运算、数学运算、逻辑运算、数值计算以及日期函数等多个类别,每个函数都配以实例,方便用户理解和应用。"
在Hive中,函数是进行数据处理和分析的重要工具。以下是这些类别的详细说明:
**一、关系运算**
关系运算主要用于比较和判断,例如:
1. **等值比较**: `=`, 用于检查两个表达式是否相等。
2. **不等值比较**: `<>`, 检查两个表达式是否不相等。
3. **小于比较**: `<`, 判断左边表达式是否小于右边。
4. **小于等于比较**: `<=`, 检查左边是否小于或等于右边。
5. **大于比较**: `>`, 判断左边是否大于右边。
6. **大于等于比较**: `>=`, 检查左边是否大于或等于右边。
7. **空值判断**: `ISNULL`, 验证某个表达式是否为NULL。
8. **非空判断**: `ISNOTNULL`, 判断一个表达式是否非空。
9. **LIKE比较**: 使用`LIKE`可以进行模式匹配,例如`col LIKE 'abc%'`匹配以'abc'开头的字符串。
10. **JAVA的LIKE操作**: `RLIKE`与`LIKE`类似,但支持更复杂的正则表达式。
11. **REGEXP操作**: 使用正则表达式进行匹配。
**二、数学运算**
1. **加法操作**: `+`, 用于两个数值的加法。
2. **减法操作**: `-`, 执行减法运算。
3. **乘法操作**: `*`, 进行乘法。
4. **除法操作**: `/`, 表示除法。
5. **取余操作**: `%`, 计算除法后的余数。
6. **位与操作**: `&`, 对两个数值的二进制表示执行按位与操作。
7. **位或操作**: `|`, 执行按位或操作。
8. **位异或操作**: `^`, 执行按位异或操作。
9. **位取反操作**: `~`, 反转一个数值的二进制位。
**三、逻辑运算**
1. **逻辑与操作**: `AND`, 当两边的表达式都为真时,结果才为真。
2. **逻辑或操作**: `OR`, 只要有一个表达式为真,结果就为真。
3. **逻辑非操作**: `NOT`, 将一个布尔值取反。
**四、数值计算**
这部分包含多种数值处理函数,如取整、随机数生成、对数和幂运算等:
1. **取整函数**: `round`对数值进行四舍五入。
2. **指定精度取整函数**: 同上,可以指定小数位数。
3. **向下取整函数**: `floor`返回小于或等于该数值的最大整数。
4. **向上取整函数**: `ceil`或`ceiling`返回大于或等于该数值的最小整数。
5. **取随机数函数**: `rand`生成0到1之间的随机浮点数。
6. **自然指数函数**: `exp`计算e(自然对数的底)的幂。
7. **以10为底对数函数**: `log10`计算以10为底的对数。
8. **以2为底对数函数**: `log2`计算以2为底的对数。
9. **对数函数**: `log`计算自然对数。
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函数**: 保持数值不变。
23. **negative函数**: 变数值为其相反数。
**五、日期函数**
1. **UNIX时间戳转日期函数**: `from_unixtime`将UNIX时间戳转换为日期时间格式。
2. **获取当前UNIX时间戳函数**: `unix_timestamp`返回当前时间的UNIX时间戳。
3. **日期转UNIX时间戳函数**: `unix_timestamp`同样可接受日期字符串参数,转换为时间戳。
4. **指定格式日期转UNIX时间戳函数**: `unix_timestamp`支持自定义日期格式。
5. **日期时间转日期函数**: `to_date`提取日期部分。
6. **日期转年函数**: `year`获取日期的年份。
7. **日期转月函数**: `month`获取日期的月份。
8. **日期转天函数**: `day`获取日期的日。
9. **日期转小时函数**: `hour`提取时间的小时。
10. **日期转分钟函数**: `min`提取时间的分钟。
以上就是Hive函数大全的一部分,这些函数为数据处理提供了丰富的功能,涵盖了基本比较、数值运算、逻辑判断以及时间日期的处理,使得数据分析更为便捷高效。
1066 浏览量
2021-04-03 上传
253 浏览量
2024-03-10 上传
434 浏览量
2023-06-06 上传
234 浏览量
259 浏览量
127 浏览量
数字支配万物的流转
- 粉丝: 30
- 资源: 4
最新资源
- PDF资源《经典电脑故障全攻略》
- 新一代视频压缩编码标准H.264.pdf
- Linux Kernel Development (2nd) pdf
- H.264 MPEG-4 Part 10 White Paper.pdf
- Overview of the H.264 video coding standard
- MOC3370A.First.Look.Getting.Started.With.Microsoft.Office.SharePoint.Server2007.Ebook-LiB.pdf
- asp+sql server办公自动化管理系统 毕业设计论文
- php apache zendStudio mysql phpMyAdmin 安装详细配置步骤
- 夏昕.深入浅出Hibernate.PDF
- Athlon64处理器最详细超频指南手册
- MOC3374A.Hands-On.Lab.Getting.Started.With.Microsoft.Office.SharePoint.Server2007.Ebook-LiB.pdf
- MS Press - Development Projects with the 2007 Microsoft Office System and Windows SharePoint Services 2007(printable).pdf
- BA于LDAP的统一访问控制系统的设计与实现
- jsp 基础语法 jsp 基础语法
- UML Java 中文版
- Linux下Java环境配置