Hive全面函数指南:从基础到高级操作
4星 · 超过85%的资源 需积分: 14 149 浏览量
更新于2024-07-20
收藏 725KB PDF 举报
"这篇文档是关于Hive常用函数的全面总结,涵盖了关系运算、数学运算、逻辑运算、数值计算以及日期函数等多个方面的内容。"
在Hive中,函数的使用是数据分析和查询的重要部分,以下是对这些函数的详细解释:
1. **关系运算**:
- **等值比较**: `=`, 用于比较两个表达式是否相等。
- **不等值比较**: `<>`, 检查两个表达式是否不相等。
- **小于比较**: `<`, 判断左边表达式是否小于右边。
- **小于等于比较**: `<=`, 判断左边是否小于或等于右边。
- **大于比较**: `>`, 检查左边是否大于右边。
- **大于等于比较**: `>=`, 判断左边是否大于或等于右边。
- **空值判断**: `ISNULL`, 验证一个值是否为NULL。
- **非空判断**: `ISNOTNULL`, 检查一个值是否不为NULL。
- **LIKE比较**: `LIKE`, 使用通配符进行模式匹配。
- **JAVA的LIKE操作**: `RLIKE`, 类似LIKE,但支持更复杂的正则表达式。
- **REGEXP操作**: `REGEXP`, 基于正则表达式的模式匹配。
2. **数学运算**:
- **加法操作**: `+`, 对两个数值进行加法运算。
- **减法操作**: `-`, 执行减法。
- **乘法操作**: `*`, 用于乘法。
- **除法操作**: `/`, 表示除法。
- **取余操作**: `%`, 计算除法后的余数。
- **位与操作**: `&`, 对两个二进制数执行按位与。
- **位或操作**: `|`, 执行按位或。
- **位异或操作**: `^`, 进行位异或。
- **位取反操作**: `~`, 反转二进制位。
3. **逻辑运算**:
- **逻辑与操作**: `AND`, 如果两个条件都为真,则结果为真。
- **逻辑或操作**: `OR`, 当至少有一个条件为真时,结果为真。
- **逻辑非操作**: `NOT`, 取反一个布尔值。
4. **数值计算**:
- **取整函数**: `round`, 四舍五入到最接近的整数。
- **指定精度取整**: `round(number, decimal_places)`, 四舍五入到指定的小数位数。
- **向下取整函数**: `floor`, 返回小于或等于给定数字的最大整数。
- **向上取整函数**: `ceil` 和 `ceiling`, 返回大于或等于给定数字的最小整数。
- **取随机数函数**: `rand`, 生成一个[0,1)之间的随机浮点数。
- **自然指数函数**: `exp`, 计算e的指数。
- **对数函数**: `log`, 以e为底的对数,`log10`是以10为底,`log2`是以2为底。
- **幂运算函数**: `pow` 和 `power`, 计算一个数的另一个数次方。
- **开平方函数**: `sqrt`, 计算平方根。
- **进制转换函数**: `bin`, `hex`, `unhex`, 二进制、十六进制的转换。
- **绝对值函数**: `abs`, 获取一个数的绝对值。
- **正取余函数**: `pmod`, 与%类似,但结果总是正数。
- **三角函数**: `sin`, `asin`, `cos`, `acos`, `tan`, `atan`等,提供标准的三角函数计算。
5. **日期函数**:
- **UNIX时间戳转日期**: `from_unixtime`, 将UNIX时间戳转换为日期格式。
- **获取当前UNIX时间戳**: `unix_timestamp`, 获取当前系统时间的UNIX时间戳。
- **日期转UNIX时间戳**: 同名函数,用于将日期转换为UNIX时间戳。
- **指定格式日期转UNIX**: `unix_timestamp(date, format)`, 按照指定格式转换日期。
- **日期时间转日期**: `to_date`, 从日期时间中提取日期部分。
- **日期转年函数**: 提供了从日期中提取年份的功能。
以上就是Hive中常用的函数,它们极大地丰富了Hive SQL的表达能力,使得数据处理和分析变得更加方便。理解并熟练运用这些函数,能够帮助用户更高效地完成大数据分析任务。
2020-09-09 上传
2012-05-02 上传
2017-09-13 上传
2020-04-14 上传
2018-04-07 上传
2018-10-21 上传
2020-07-27 上传
greenfer
- 粉丝: 5
- 资源: 5
最新资源
- 西门子PLC工程实例源码第645期:连接S7-300到S7-200通过PROFIBUS程序.rar
- 数独递归:实现了递归回溯数独求解算法
- disaster-response
- psi3862015:PSI3862015专题制作
- 没得比 实时推送-crx插件
- MMM-MP3Player:一个MagicMirror模块,用于在插入USB随身碟后立即播放音乐
- carGamePerceptron:涉及JavaScript游戏的神经网络实验
- 时尚城购物比价助手-crx插件
- simple-resto-app
- Paw-JSONSchemaFakerDynamicValue:在Paw中为JSON模式生成伪造的值
- 西门子PLC工程实例源码第644期:连接S7-200(主站)到多个S7-200(从站)通过GSM MODEM程序.rar
- FFMPEG_RTMP协议_收流_推流
- onejava01:第一次提交到远程仓库
- osadmin开源管理后台 v2.1.0
- MyEasy86-crx插件
- 课程-cristianmoreno