Hive编程技术与应用

-
【作 者】孙帅 王美佳
【I S B N 】978-7-5170-6914-0
【责任编辑】张玉玲
【适用读者群】本专通用
【出版时间】2018-10-15
【开 本】16开
【装帧信息】平装(光膜)
【版 次】第1版第1次印刷
【页 数】160
【千字数】242
【印 张】10
【定 价】¥28
【丛 书】普通高等教育数据科学与大数据技术专业教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书通过原理加案例的方式系统地讲解了Hive编程技术,使读者能够全面地了解使用Hive的开发流程。书中精心安排了Hive的原理分析、架构特点、环境搭建、HiveQL使用等内容,给出了大量的开发案例及其开发过程,使读者对Hive开发有直观的印象。
全书共10章:前6章系统讲解Hive工作原理、特点,Hive架构,HiveQL表操作,HiveQL数据操作,HiveQL查询,Hive安装与配置,Hive自定义函数;第8~10章是综合案例部分,通过案例帮助读者掌握整个大数据项目的开发流程,包括数据清洗、数据处理、数据导入导出。本书知识结构简单明了,案例生动具体,内容设计新颖,思路清晰。
本书不仅可作为普通高校大数据相关专业的教材,也可以作为想继续深入了解大数据编程的读者的参考书,还可作为各类相关培训班的培训教材。
本书详细介绍了Hive 的基本架构,系统讲解了Hive 编程技术;精心安排了Hive 的原理分析、架构特点、环境搭建、HiveQL 使用等内容。全书内容丰富、重点突出、简明易懂,突出理论与案例相结合的形式,章节设计循序渐进、深入浅出。
现在是大数据时代,我们正以前所未有的速度和规模产生数据。数据资产正在成为与土地、资本、人力并驾齐驱的关键生产要素,并在社会、经济、科学研究等方面颠覆人们探索世界的方法、驱动产业间的融合与分立。大数据是用来描述数据规模巨大、数据类型复杂的数据集,它本身蕴含着丰富的价值。对这些数据的分析处理促进了许多优秀的海量数据分析平台的产生,Hadoop平台就是当前最为主流的一款。
Hive是Hadoop生态系统中必不可少的一个工具,它提供了一种SQL语言,可以查询存储在HDFS中的数据或者其他Hadoop支持的文件系统,如MapR-FS、Amazon S3、HBase和Cassandra。Hive降低了应用程序迁移到Hadoop集群的复杂度,掌握SQL语句的开发人员可以轻松地学习并使用Hive。
本书共分10章,其中不仅有详细的理论讲解,还有大量的实战操作。具体内容如下:
第1章首先介绍了Hive的基本工作原理及HiveQL语句在Hive中执行的具体流程;其次介绍了Hive中的数据类型,主要包括原子数据类型和复杂数据类型;最后给出了Hive的设计特点。
第2章详细介绍了Hive的基本架构,主要包括Hive的相关用户接口、Hive元数据库中的表结构和三种存储方式、Hive数据存储中的相关概念、Hive中文件格式的不同特性和区别。
第3章讲解了HiveQL的相关表操作。
第4章描述了HiveQL的相关数据操作,主要包括数据的导入和导出。
第5章讲解了HiveQL的查询语句中的不同语法和使用方式。
第6章讲解了Hive的完整安装过程。在此基础上给出Hive的不同访问方式,并基于Hive CLI方式给出相关操作的介绍,同时给出Hive数据定义的相关操作。
第7章介绍了Hive的自定义函数,给出了UDF、UDTF、UDAF各自的函数实现方式,并给出了具体的实现源码。
第8~10章给出了Hive的相关综合案例,将之前章节的内容通过实际案例串联起来,达到最终应用的目的。
本书由孙帅、王美佳任主编。其中第1~2章由孙帅编写,第3~6章由王美佳编写,第7章由李紫薇编写,第8章由邹先锋编写,第9章由张美娟编写,第10章由臧红久编写。本书的编写得到北京百知教育科技有限公司的大力支持,在此表示感谢。
由于时间仓促,加之编者水平有限,本书难免存在不足之处,恳请读者对本书提出宝贵的意见和建议。
编 者
2018年5月
1.1 Hive工作原理 1
1.2 Hive的数据类型 2
1.3 Hive的特点 4
1.4 本章小结 4
第2章 Hive架构 5
2.1 Hive用户接口 5
2.1.1 Hive CLI 5
2.1.2 HWI 6
2.1.3 Thrift服务 10
2.2 Hive元数据库 11
2.2.1 Hive元数据表结构 11
2.2.2 Hive元数据的三种存储模式 12
2.3 Hive数据存储 13
2.4 Hive文件格式 14
2.4.1 TextFile格式 14
2.4.2 SequenceFile格式 14
2.4.3 RCFile格式 14
2.4.4 ORC格式 15
2.5 本章小结 16
第3章 HiveQL表操作 17
3.1 内部表 17
3.2 外部表 21
3.3 分区表 23
3.3.1 静态分区 25
3.3.2 动态分区 27
3.4 桶表 28
3.5 视图 30
3.5.1 使用视图降低查询复杂度 31
3.5.2 使用视图来限制基于条件过滤
的数据 32
3.5.3 动态分区中的视图和map类型 32
3.6 本章小结 33
第4章 HiveQL数据操作 34
4.1 装载数据到表中 34
4.2 通过查询语句向表中插入数据 35
4.3 单个查询语句中创建并加载数据 37
4.4 导出数据 37
4.5 本章小结 38
第5章 HiveQL查询 39
5.1 SELECT…FROM语句 39
5.1.1 使用正则表达式来指定列的 40
5.1.2 使用列值进行计算 41
5.1.3 算述运算符 41
5.1.4 使用函数 42
5.1.5 LIMIT语句 46
5.1.6 列别名 46
5.1.7 嵌套SELECT语句 46
5.1.8 CASE…WHEN…THEN语句 46
5.2 WHERE语句 47
5.2.1 谓词操作符 48
5.2.2 关于浮点数比较 49
5.2.3 LIKE和RLIKE 50
5.3 GROUP BY语句 50
5.4 JOIN语句 51
5.4.1 INNER JOIN 51
5.4.2 JOIN优化 53
5.4.3 LEFT OUTER JOIN 53
5.4.4 RIGHT OUTER JOIN 54
5.4.5 FULL OUTER JOIN 54
5.4.6 LEFT SEMI JOIN 54
5.4.7 笛卡尔积JOIN 55
5.4.8 map-side JOIN 55
5.5 ORDER BY和SORT BY 56
5.6 含有SORT BY的DISTRIBUTE BY 57
5.7 CLUSTER BY 57
5.8 类型转换 58
5.9 抽样查询 58
5.9.1 数据块抽样 59
5.9.2 分桶表的输入裁剪 59
5.10 UNION ALL 60
5.11 本章小结 61
第6章 Hive配置与应用 62
6.1 Hive安装与配置 62
6.2 Hive访问 65
6.3 Hive基本操作 67
6.3.1 Hive CLI命令行操作讲解 67
6.3.2 Hive的数据类型 71
6.3.3 Hive表的创建 73
6.3.4 Hive数据导入 74
6.3.5 Hive数据导出 76
6.4 Hive数据定义 77
6.4.1 内部表与外部表的区别 77
6.4.2 内部表建立 77
6.4.3 外部表建立 79
6.4.4 表的分区与桶的建立 81
6.4.5 删除表与修改表结构 87
6.4.6 HiveQL简单查询语句 88
6.4.7 WHERE语句 91
6.5 Hive高级查询 91
6.6 本章小结 98
第7章 Hive自定义函数 99
7.1 UDF 99
7.2 UDTF 102
7.3 UDAF 105
7.4 Hive函数综合案例 109
7.4.1 Row_Sequence实现列自增长 109
7.4.2 列转行和行转列 111
7.5 本章小结 114
第8章 Hive综合案例(一) 115
8.1 项目背景与数据情况 115
8.2 关键指标KPI 116
8.3 开发步骤分析 116
8.4 表结构设计 117
8.5 数据清洗过程 118
8.5.1 定期上传日志至HDFS 118
8.5.2 编写MapReduce程序清理日志 119
8.5.3 定期清理日志至HDFS 121
8.5.4 查询清洗前后的数据 122
8.6 数据统计分析 122
8.6.1 借助Hive进行统计 122
8.6.2 使用HiveQL统计关键指标 123
8.7 本章小结 124
第9章 Hive综合案例(二) 125
9.1 项目应用场景 125
9.2 设计与实现 125
9.2.1 日志格式分析 125
9.2.2 建立表 125
9.2.3 程序设计 126
9.2.4 编码实现 127
9.2.5 运行并测试 129
9.3 本章小结 129
第10章 Hive综合案例(三) 130
10.1 应用场景 130
10.2 设计与实现 130
10.2.1 数据处理 130
10.2.2 使用Hive对清洗后的数据进行
多维分析 132
10.2.3 在MySQL中建立数据库 136
10.2.4 使用sqoop把分析结果导入到
MySQL中 136
10.2.5 程序设计与实现 138
10.2.6 运行并测试 138
10.3 本章总结 139
附录 140
- 机械制图 [许淑珍 于利民]
- 微积分(经管类)导学篇(下册) [王海棠 曹海军 周玲丽]
- 大学生创新创业基础 [主编 姜国权 姜福佳]
- 农产品云仓模式研究—以北京农产品流通物流供应链重构为例 [武晓钊 王成林 王春娟 等著]
- 信息技术(微课版) [王云 徐江鸿 李清霞 罗学锋 ]
- 管理基础与实务 [主编 王凤基 颜汉军]
- 高等数学导学篇(下册) [主编 李文婧 胡雷 尹金生]
- 高等数学导学篇(上册) [主编 李文婧 胡雷 尹金生]
- 高等数学(下册) [主编 李爱芹 胡雷 尹金生]
- 高等数学(上册) [主编 李爱芹 胡雷 尹金生]
- 庭院风骨—树、灌、篱 [创意房主 著]
- Python语言程序设计教程 [郭其标 房宜汕]
- 微积分(经管类)教程篇(下册) [曹海军 王海棠 周玲丽]
- 微积分(经管类)教程篇(上册) [曹海军 王海棠 周玲丽]
- 微积分(经管类)导学篇(上册) [王海棠 曹海军 周玲丽]
- 网站前端技术案例教程(HTML+CSS+JavaScript)(第二版) [黄华升]
- 线性代数 [主编 史昱 陈凤欣]
- 电力电子技术课程学习及实验指导 [主编 陈荣]
- 成长对话:青春的榜样 [主编 施端银 黄武刚 应巨林]
- 人工智能应用基础 [主编 杨缨 李佳]
- 中华水文化(慕课版)(第二版) [毕雪燕 杨华轲 罗玲谊 等编著]
- 电路与电子技术Ⅱ——电路分析基础 [主编 陈晓 金哲]
- 飞机维修专业英语——飞机系统(第二版) [赵迎春]
- 英语大爆炸:跟趣味情景剧学口语(微课版) [秦然 编著]
- 机械工程制图任务跟踪训练 [主编 王瑞清 赵金考 周彦云 ]
- 机械工程制图 [主编 覃国萍 刘百顺 禹晨]
- 平面设计与制作项目化教程 [主编 李晨]
- 后期影像剪辑技术 [主编 郭建伟]
- 人工智能概论(第二版) [主编 任云晖 丁红 徐迎春 ]
- 信息时代美育之道 [主编 刘宏宇 黎娅]