本书分为5篇,包括11章和3个附录。大数据基础篇包括第1章(绪论);大数据存储篇包括第2~3章(HDFS分布式文件系统、NoSQL及其HBase分布式数据库系统);大数据计算篇包括第4~7章(MapReduce分布式计算、大数据的Spark内存计算、大数据的流计算、大数据的图计算);大数据管理、查询分析及可视篇包括第8~10章(Hadoop的数据整合、集群管理与维护,大数据的查询分析技术,R语言与可视化技术);大数据发展及应用篇包括第11章(大数据应用——人工智能深度学习)。本书体现了校际联盟、校企合作的建设成果,将理论与实践相结合,突出实践应用。本书配套的教学资源丰富,包括PPT、教学大纲、实验指导书、习题、模拟考试试卷等,读者在可以登录华信教育资源网(www.hxedu.com.cn)注册后免费下载。本书可以作为应用型本科院校、高等职业院校计算机专业、大数据专业、人工智能专业的教材,也可以作为相关培训机构的教材,还可以作为软件开发和应用从业人员的参考书。
刘甫迎,教授,硕士研究生导师,2006年获的国家级教学名师奖、成为当时全国高职高专首位获得该殊荣的教师。2006~2010年,担任高职高专计算机类专业教学指导委委员,曾获四川省有突出贡献的优秀专家称号,四川省优秀教师称号。1982年1月毕业于电子科技大学计算机工程专业。1975年至1995年在中国科学院成都计算机应用研究所,历任软件研究室副主任、副研究员。1985年在加拿大McMaster大学作中科院公派访问学者。作为负责人获国家精品课程一项,四川省精品课程二项,获四川省教学成果一、二等奖各一项。作为主编2002年获全国普通高等学校优秀教材二等奖。1981年获四川省重大科技成果奖。发表论文40余篇,主编出版教材、著作21部。获选普通高等教育“十一五”国家级规划教材两部。获选“十三五”职业教育国家规划教材一部。
目录
第一篇 大数据基础篇
第1章 绪 论 2
1.1 大数据概述 2
1.1.1 三次信息化浪潮、大数据的兴起与影响 2
1.1.2 大数据的概念及特征 5
1.1.3 大数据的计算模式 9
1.1.4 大数据的关键技术 11
1.2 大数据的Hadoop解决方案 13
1.2.1 Hadoop的由来与发展 13
1.2.2 Hadoop的特性、运行原理和生态环境 14
1.2.3 Hadoop的企业级开发架构、技术与落地应用 18
1.3 大数据各时期的热点与数据使用发展趋势 21
1.3.1 数据架构各时期的演变 22
1.3.2 Hadoop的YARN计算框架 24
1.3.3 大数据的实时交互式分析 25
1.3.4 数据使用发展趋势 25
习题 29
第二篇 大数据存储篇
第2章 HDFS分布式文件系统 32
2.1 HDFS及其设计思路和架构 32
2.1.1 HDFS及其设计思路 32
2.1.2 HDFS的架构与基本存储单元 33
2.1.3 HDFS的存/取流程 34
2.2 HDFS Shell的基本操作 38
2.3 HDFS的命令行操作 41
2.3.1 HDFS文件访问权限 41
2.3.2 通过Web浏览HDFS文件 42
2.3.3 HDFS的接口(API)使用 44
习题 46
第3章 NoSQL及其HBase分布式数据库系统 48
3.1 大数据环境中的NoSQL 48
3.1.1 NoSQL应运而生 48
3.1.2 NoSQL的类型 49
3.1.3 NoSQL的三大基石 51
3.2 HBase的设计思路与架构 54
3.2.1 HBase的系统架构与组件 54
3.2.2 HBase的数据模型、物理存储与查找 56
3.2.3 HBase的数据读/写流程 60
3.3 HBase的操作与数据管理 61
3.3.1 HBase的Shell操作 61
3.3.2 Java API 与非Java访问 64
3.3.3 HBase的编程实例 65
3.4 从RDBMS到HBase 67
3.5 为应用程序选择合适的Hadoop数据存储机制 69
习题 70
第三篇 大数据计算篇
第4章 MapReduce分布式计算 74
4.1 MapReduce的架构与源码分析 74
4.1.1 MapReduce的架构与执行过程 74
4.1.2 MapReduce的输入与输出 75
4.1.3 MapReduce的Job类 78
4.2 MapReduce任务的异常处理与失败处理 79
4.2.1 MapReduce任务的异常处理方式 79
4.2.2 MapReduce任务的失败处理方式 80
4.3 在HBase上运行MapReduce 80
4.4 MapReduce程序开发实例 82
4.5 基于MapReduce的数据挖掘应用 88
4.5.1 数据挖掘与高级分析库Mahout 88
4.5.2 矩阵乘法 90
4.5.3 相似度计算 93
习题 96
第5章 大数据的Spark内存计算 99
5.1 Spark概述 99
5.1.1 Spark及其架构 99
5.1.2 Spark的特点及性能 100
5.1.3 Spark的基本原理及计算方法 101
5.1.4 Spark与MapReduce、Hive对比 102
5.1.5 Spark在国内的现状以及未来的展望 103
5.2 Spark的RDD 103
5.2.1 Spark的核心概念——RDD 103
5.2.2 RDD基本操作 104
5.2.3 Spark提供的Transformation实现与Action实现 104
5.3 Spark的运行模式 105
5.3.1 Spark的程序框架 105
5.3.2 独立(Standalone)模式 107
5.3.3 Spark YARN的模式 108
5.4 Spark应用程序 109
5.4.1 Scala语言简介 109
5.4.2 Spark程序设计 111
5.5 Spark SQL 116
5.5.1 Spark SQL简介 116
5.5.2 DataFrame 117
5.5.3 Datasets 122
5.5.4 使用数据源 124
习题 127
第6章 大数据的流计算 129
6.1 流计算概述 129
6.1.1 无界数据及流数据 129
6.1.2 流计算概念 131
6.1.3 流计算框架 132
6.1.4 流计算的价值与应用 137
6.2 流计算处理流程 138
6.2.1 概述 138
6.2.2 数据实时采集 138
6.2.3 数据实时计算 139
6.2.4 实时查询服务 140
6.3 开源流计算框架Flink 141
6.3.1 Flink简介 141
6.3.2 Flink的基本架构 142
6.3.3 Flink编程 144
习题 148
第7章 大数据的图计算 149
7.1 大数据的图计算概述 149
7.2 Spark GraphX 150
7.2.1 Spark GraphX简介 150
7.2.2 Spark GraphX的实现分析 151
7.2.3 Spark GraphX实例 152
7.3 Pregel 155
7.3.1 Pregel简介 155
7.3.2 Pregel图计算模型 156
7.3.3 Pregel的体系结构 159
7.3.4 PageRank算法及其实现 161
习题 165
第四篇 大数据管理、查询分析及可视篇
第8章 Hadoop的数据整合、集群管理与维护 168
8.1 Hadoop数据整合 168
8.1.1 Hadoop计算环境中的数据整合问题 168
8.1.2 数据库整合工具Sqoop(导入、导出数据) 168
8.1.3 Hadoop平台内部数据整合工具——HCatalog 172
8.2 Hadoop集群管理与维护 175
8.2.1 云计算平台的管理体系 175
8.2.2 集群中的配置管理与协调者——ZooKeeper 177
8.2.3 Hadoop集群部署与监控集成工具——Ambari 179
8.2.4 基于Kerberos的Hadoop安全管理 181
8.2.5 Hadoop集群管理工具分析 183
习题 184
第9章 大数据的查询分析技术 185
9.1 大数据对传统分析处理的挑战 185
9.2 查询(SQL on Hadoop) 185
9.3 使用Hive和Pig处理数据 188
9.3.1 Hive与HiveQL命令 188
9.3.2 Pig与Pig Latin 192
9.3.3 实例 193
9.3.4 Hive与Pig对比 195
9.4 实时互动的SQL:Impala和Drill 195
9.4.1 Cloudera Impala 195
9.4.2 Apache Drill 196
习题 205
第10章 R语言与可视化技术 206
10.1 开源可视化统计绘图工具——R语言 206
10.1.1 R语言概述 206
10.1.2 R软件资源 207
10.1.3 函数、运算符、数据表和数据框 208
10.1.4 数据存/取及脚本语言 209
10.1.5 绘图及实例 210
10.2 可视化技术 213
10.2.1 可视化技术及分类 213
10.2.2 入门级工具 214
10.2.3 互动图形用户界面控制 215
10.2.4 地图工具 216
10.2.5 可视化设计工具 216
10.2.6 专家级可视化分析工具 217
习题 218
第五篇 大数据发展及应用篇
第11章 大数据应用——人工智能深度学习 220
11.1 理解大数据深度学习 220
11.1.1 机器学习、感知器与大数据深度学习 220
11.1.2 人工神经网络与深度学习 221
11.2 深度学习的编程基础 222
11.2.1 环境配置 222
11.2.2 Python入门 227
11.2.3 NumPy 229
11.2.4 机器学习实践 232
11.3 大数据深度学习实践 240
11.3.1 卷积神经网络 240
11.3.2 深度学习在图像中的应用 240
习题 245
附录A 《大数据原理与技术》教学大纲 246
附录B 实验指导书 247
B.1 实验一:Hadoop平台安装环境配置(Ambari) 247
B.2 实验二:Hadoop集群配置及HDFS的使用 252
B.3 实验三:HBase的安装与实例运行 257
B.4 实验四:MapReduce计算 263
B.5 实验五:基于MapReduce的大数据挖掘实例 264
B.6 实验六:认识Spark 265
B.7 实验七:Spark编程 268
B.8 实验八:初步体验大数据流计算框架Flink 270
B.9 实验九:数据库整合工具Sqoop与查询分析(Hive、Pig) 273
B.10 实验十:R语言与可视化技术 278
B.11 实验十一:认识深度学习(PyCharm、Python、NumPy、 Keras) 280
B.12 实验十二:深度学习实例 284
附录C 模拟考试 288
C.1 模拟考试试卷(一) 288
C.2 模拟考试试卷(二) 290
参考文献 293