本书从大数据的概念和特征开始讲起,首先让读者对大数据有一个感性的认识;然后结合大数据平台的各个模块,详细介绍了大数据的存储、处理、分析、可视化等方面的原理和操作;最后介绍了大数据在各行业中的应用,让读者更加充分地感受到大数据技术的优势,以及大数据应用的价值。 本书适合高等院校相关专业的学生使用,也适合参加大数据技术培训课程的人员使用,还可以作为从事ICT行业相关工作的人员和大数据技术爱好者的参考书。
1.浅入深出地介绍基础理论,易于读者学习、理解和掌握,保障基础读者无障碍理解。
2.本书的大纲结构和文字描述由业内专家执笔,且内容经过多方专家反复论证推敲,力求严谨准确。
3.摒弃了以清单罗列知识点的生硬做法,按照大数据处理平台、关键技术、计算框架、使用工具、应用案例的顺序展开,以大数据技术的基本理论为起点,逐渐深入介绍常用技术。
4.内容完整性经过反复推敲,涵盖具有级职称的读者应该掌握的技术知识。
5.以大数据技术、软件、框架为模块,逐步深入,介绍相关理论和应用。
6.结合实际应用,引用大数据在金融、电信、制造业、能源、医疗等行业的应用案例,加深读者的理解。
7.各章配有学习目标、总结、练习题及其答案,供读者快速归纳、复习和检验本章所学内容。
8.配套资源丰富,包含实验手册、视频讲解、授课课件(PPT)、综合实训。
黄史浩
多年的Hadoop大数据平台企业业务应用实践,具有丰富的Hadoop平台运维,开发与分析实战经验 2. 主导过多个大型大数据项目的开发,如维达国际大数据平台、中国商品进出口交易中心ETL日志分析大数据平台 3、多年大数据与数据挖掘等IT领域技术培训经验,丰富的课程设计和授课经验。
第 1 章 大数据概述 0
11 大数据的概念与价值 2
111 大数据的基本概念 2
112 大数据的来源 4
113 大数据的价值 5
114 挖掘企业大数据价值的方式 7
12 大数据的关键技术 7
121 大数据采集、预处理、存储与管理 8
122 大数据分析与挖掘 8
123 大数据可视化 9
13 大数据产业 9
131 数据提供 9
132 技术提供 10
133 服务提供 10
14 大数据应用场景 11
15 本章总结 11
练习题 12
第 2 章 Hadoop 大数据处理平台 14
21 Hadoop 平台概述 16
211 Hadoop 起源及发展 16
212 Hadoop 特性 17
213 Hadoop 应用现状 17
214 Hadoop 版本及相关平台 18
22 Hadoop 生态系统 18
221 HDFS 和 HBase 18
222 MapReduce 和 YARN 19
223 Hive 20
224 Sqoop 和 Flume 20
225 ZooKeeper 和 Oozie 20
226 Kerberos 和 LDAP 21
227 Impala 和 Solr 21
228 Kafka 21
23 Hadoop 安装部署 22
231 Hadoop 规划部署 22
232 Hadoop 的安装方式 23
24 华为 FusionInsight HD 安装部署 27
241 FusionInsight HD 简介 27
242 FusionInsight HD 集成设计 29
243 FusionInsight HD 安装部署 35
244 FusionInsight HD 重要参数配置 44
25 本章总结 45
练习题 45
第 3 章 HDFS 48
31 概述 50
311 DFS 的概念与作用 51
312 HDFS 概述 51
32 HDFS 的相关概念 52
321 HDFS 块 52
322 NameNode 53
323 Secondary NameNode 54
324 DataNode 55
33 HDFS 体系架构与原理 56
331 HDFS 体系架构 56
332 HDFS 的高可用机制 56
333 HDFS 的目录结构 58
334 HDFS 的数据读写过程 61
34 HDFS 接口及其在 FusionInsight HD 编程中的实践 63
341 HDFS 常用的 Shell 命令 63
342 HDFS 的 Web 界面 65
343 HDFS 的 Java API 及应用实例 66
35 本章总结 72
练习题 73
第 4 章 MapReduce 和 YARN 76
41 MapReduce 技术原理 78
411 MapReduce 概述 79
412 Map 函数与 Reduce 函数 79
42 YARN 技术原理 80
421 YARN 的概述与应用 80
422 YARN 的架构 81
423 MapReduce 的计算过程 82
424 YARN 的资源调度 84
43 FusionInsight HD 中 MapReduce 的应用 85
431 WordCount 实例分析 85
432 MapReduce 编程实践 86
44 本章总结 93
练习题 93
第 5 章 HBase 96
51 HBase 概述与应用 98
511 HBase 简介 98
512 HBase 的特性 99
513 HBase 与关系数据库的区别 100
514 HBase 的应用场景 100
52 HBase 的架构原理 101
521 HBase 的数据模型 101
522 表和 Region 102
523 HBase 的系统架构与功能组件 103
524 HBase 的读写流程 104
525 HBase 的 Compaction 过程 106
53 FusionInsight HD 中 HBase 的编程实践 107
531 FusionInsight HD 中 HBase 的常用参数配置 107
532 HBase 常用的 Shell 命令 109
533 HBase 常用的 Java API 及应用实例 112
54 本章总结 131
练习题 131
第 6 章 Hive 134
61 Hive 概述 136
611 Hive 的基本概念及应用 136
612 Hive 的特性 137
613 Hive 与传统数据仓库的区别 138
62 Hive 的架构和数据存储 138
621 Hive 的架构原理 139
622 Hive 的数据存储模型 141
623 HiveQL 编程 142
63 FusionInsight HD 中 Hive 的应用实践 148
631 FusionInsight HD 中 Hive 的常用参数配置 148
632 加载数据到 Hive 149
633 使用 HiveQL 进行数据分析 151
64 本章总结 156
练习题 156
第 7 章 Sqoop 和 Loader 158
71 Sqoop 概述 160
711 Sqoop 简介与应用 161
712 Sqoop 的功能与特性 161
713 Sqoop 与传统 ETL 的区别 162
72 FusionInsight HD 中 Loader 的应用实践 162
721 FusionInsight HD 中 Loader 与 Sqoop 的对比 163
722 FusionInsight HD 中 Loader 的参数配置 164
723 使用 Loader 进行数据转换 165
724 Loader 常用的 Shell 命令 166
725 Loader 应用实践 168
73 本章总结 170
练习题 170
第 8 章 Flume 172
81 Flume 概述 174
811 Flume 简介 174
812 Flume 的功能与特性 177
813 Flume 与其他主流开源日志收集系统的区别 178
82 FusionInsight HD 中 Flume 的应用实践 178
821 FusionInsight HD 中 Flume 的常用参数配置 179
822 Flume 常用的 Shell 命令 180
823 Flume 与 Kafka 结合进行日志处理 181
83 本章总结 184
练习题 185
第 9 章 Spark 186
91 Spark 概述 188
911 Spark 的概述与应用 189
912 Scala 语言介绍 190
913 Spark 生态系统组件 190
914 Spark 与 Hadoop 的对比 191
92 Spark 技术架构 192
921 Spark 的运行原理 192
922 RDD 概念与原理 194
923 Spark 的 3 种部署方式 196
924 使用开发工具测试 Spark 198
93 FusionInsight HD 中 Spark 的应用实践 199
931 运行 Spark Shell 199
932 进行 Spark RDD 操作 200
933 使用 Spark 客户端工具运行 Spark 程序 202
94 Spark Streaming 206
941 Spark Streaming 的设计思想 206
942 Spark Streaming 的应用实例 206
95 Spark SQL 210
951 Spark SQL 的功能 210
952 FusionInsight HD 中 Spark SQL 的应用实例 210
96 Spark MLlib 212
961 机器学习简介 212
962 Spark MLlib 的功能 213
97 Spark GraphX 213
971 图计算简介 213
972 Spark GraphX 功能简介 214
98 本章总结 214
练习题 215
第 10 章 大数据流计算 216
101 流计算概述 218
1011 静态数据和流数据的概念 219
1012 流计算的概念 219
1013 MapReduce 和流计算 220
1014 流计算框架 220
102 流计算的处理流程 221
1021 数据实时采集 221
1022 数据实时计算 221
1023 数据实时查询 222
103 Streaming 流计算 222
1031 Streaming 简介 222
1032 Streaming 的特点 225
1033 Streaming 中 FusionInsight HD 的应用实践 226
1034 Spark Streaming 与 Streaming 的差异 231
104 本章总结 232
练习题 233
第 11 章 数据可视化 234
111 可视化概述 236
1111 数据可视化简介 237
1112 数据可视化的重要性 237
1113 可视化的发展历程 238
1114 数据可视化的实现过程 239
112 可视化工具 240
1121 入门级工具(Excel) 240
1122 普通工具(R 语言) 240
1123 高级工具(Tableau 和 QlikView) 241
113 可视化的典型应用 241
1131 可视化在医学上的应用 241
1132 可视化在工程中的应用 242
1133 可视化在互联网中的应用 243
114 本章总结 243
练习题 244
第 12 章 大数据行业应用 246
121 大数据在金融行业中的应用 248
122 大数据在电信行业中的应用 250
123 大数据在互联网行业中的应用 253
124 本章总结 254
练习题 255
术语表 256
参考文献 268