Hive全面函数指南:从基础到高级操作
4星 · 超过85%的资源 需积分: 14 192 浏览量
更新于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
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜