没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
36页
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。Hive的优点是学习成本低,可以通过类似SQL语句实现快速MapReduce统计,使MapReduce变得更加简单,而不必开发专门的MapReduce应用程序。hive是十分适合数据仓库的统计分析和Windows注册表文件。 本文是Hive的开发规范,包括从网上搜集的一些内容,也包括在工作中总结的,以及在书中整理的点。
资源推荐
资源详情
资源评论
秘密
HIVE SQL 开发规范
说明:
本文件中“中内容为举例和说明文字,请在文件拟制时替换或删除;
若文中某章节内容可省略、不需要或适用,请保留该标题,并根据实际在内容部分写明“略”、
“勿需”或“不适用”等,同时适当说明原因;
请作者注意在文档右上角修改该文档的密级。
第 1 页 共 36页
秘密
文件修订历史
修订时间 修订概要
作者
审核 批准
创建文档 甘军
模板修订历史
版本
生效时间 变更概要
作者
审核 批准
第 2 页 共 36页
秘密
目录
目录..................................................................................................................................................................3
1. 简述..............................................................................................................................................................6
2. HIVE SQL 语法规则...................................................................................................................................7
2.1 数据类型............................................................................................................................................7
2.1.1 整型.....................................................................................................................................................7
2.1.2 浮点型.................................................................................................................................................7
2.1.3 DECIMAL 类型..................................................................................................................................7
2.1.4 使用举例.............................................................................................................................................7
2.1.5 日期类型.............................................................................................................................................7
2.1.6 使用举例.............................................................................................................................................8
2.1.7 字符类型.............................................................................................................................................8
2.1.8 使用举例.............................................................................................................................................8
2.1.9 复合类型.............................................................................................................................................8
2.1.10 使用举例............................................................................................................................................8
2.1.1 其它类型.............................................................................................................................................9
2.1.2 使用举例.............................................................................................................................................9
2.1.3 空值...................................................................................................................................................10
2.1.4 使用举例...........................................................................................................................................10
2.2 运算符及函数..................................................................................................................................10
2.2.1 汇函数(Aggregate Functions)......................................................................................................10
2.2.2 字符串函数........................................................................................................................................11
2.2.3 日期和时间函数................................................................................................................................12
2.2.4 数学函数............................................................................................................................................13
2.2.5 算术运算符........................................................................................................................................14
2.2.6 逻辑运算符........................................................................................................................................15
2.2.7 比较运算符........................................................................................................................................15
2.2.8 复合类型构建....................................................................................................................................16
2.2.9 使用举例............................................................................................................................................16
2.2.10 收集函数..........................................................................................................................................16
2.2.11 使用举例..........................................................................................................................................16
2.2.12 条件函数..........................................................................................................................................16
2.2.13 复杂类型函数操作..........................................................................................................................17
2.2.14 类型转换函数..................................................................................................................................17
2.3 数据定义命令(DDL).................................................................................................................17
2.3.1 建表...................................................................................................................................................17
2.3.2 注意事项...........................................................................................................................................17
2.3.3 使用示例...........................................................................................................................................18
2.3.4 修改表结构.......................................................................................................................................19
2.3.5 删表....................................................................................................................................................19
2.4 数据操作命令(DML).................................................................................................................19
2.4.1 LOAD DATA....................................................................................................................................19
2.4.1.1 语法规则.........................................................................................................................................19
2.4.1.2 使用说明.........................................................................................................................................19
2.4.1.3 使用示例.........................................................................................................................................19
2.4.2 INSERT.............................................................................................................................................20
2.4.2.1 基本模式.........................................................................................................................................20
2.4.2.2 多插入模式.....................................................................................................................................20
第 3 页 共 36页
秘密
2.4.2.3 将查询结果写入 HDFS 文件系统..................................................................................................20
2.4.2.4 INSERT INTO.................................................................................................................................20
2.4.2.5 使用示例.........................................................................................................................................20
2.5 数据查询 SQL.................................................................................................................................21
2.5.1 基本的 SQL 操作..............................................................................................................................21
2.5.1.1 语法规则.........................................................................................................................................21
2.5.1.2 使用说明.........................................................................................................................................21
2.5.1.3 使用示例.........................................................................................................................................21
2.5.2 基于 Partition 的查询........................................................................................................................21
2.5.2.1 使用说明.........................................................................................................................................21
2.5.3 JOIN...................................................................................................................................................22
2.5.3.1 语法规则.........................................................................................................................................22
2.5.3.2 使用说明.........................................................................................................................................22
2.6 HIVE SQL 使用注意事项...............................................................................................................23
2.6.1 HIVE 不支持非等值连接.................................................................................................................23
2.6.2 分号字符...........................................................................................................................................23
2.6.3 IS [NOT] NULL................................................................................................................................23
2.6.4 Hive 不支持将数据插入现有的表或分区中,仅支持覆盖重写整个表.......................................23
2.6.5 Hive 支持嵌入 mapreduce 程序,来处理复杂逻辑........................................................................23
2.6.6 Hive 支持动态设置环境变量...........................................................................................................24
2.6.7 Hive 环境默认是 default 数据库,需用 use 切换数据库...............................................................24
2.6.8 查询注意事项...................................................................................................................................24
3. 优化实例及常见异常................................................................................................................................28
3.1 执行日志..........................................................................................................................................28
3.2 提前过滤数据,减少中间数据依赖..............................................................................................28
3.3 慎用 map join...................................................................................................................................28
3.4 禁止使用笛卡尔积..........................................................................................................................29
3.5 列修剪和分区修剪..........................................................................................................................29
3.6 explain 的使用.................................................................................................................................29
3.7 uion all 改写成 join..........................................................................................................................30
3.8 大数据量时,怎样让全局 count/sum distinct 更快?...................................................................30
3.9 有小表存在的情况下,看看能否使用 map join...........................................................................30
3.10 数据倾斜(转载).............................................................................................................................31
3.11 数据膨胀导致 reduce 任务数不合理...........................................................................................33
3.12 合并小文件....................................................................................................................................34
3.13 合理设置 reduce 个数...................................................................................................................34
3.14 排序优化........................................................................................................................................34
3.15 动态分区........................................................................................................................................35
3.16 动态分区问题................................................................................................................................35
3.17 怎么检测笛卡尔积........................................................................................................................35
3.18 map join 本地执行太慢.................................................................................................................36
3.19 Task 任务超时,报 failed to report status for 600 seconds. Killing!...........................................36
3.20 OutOfMemoryError: Java heap space............................................................................................36
第 4 页 共 36页
秘密
第 5 页 共 36页
剩余35页未读,继续阅读
资源评论
weixin_41824818
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功