大数据导论/思维,技术与应用
作 者:武志学 著
定 价:49.8
出 版 社:人民邮电出版社
出版日期:2019年04月01日
页 数:244
装 帧:平装
ISBN:9787115504852
(1)本书以基本概念与实例相结合的方法,由浅入深、循序渐进地对大数据思维、技术和应用做了全面系统的介绍。
(2)本书在每一个环节都配有与理论学习内容相结合的案例介绍,还有使用Java和Python语言编写的应用实例,使读者能够在大数据平台上通过实践亲身体验大数据处理和分析的过程,从而加快和加深对大数据理论和技术的理解。
(3)为了使读者方便检验和复习巩固学习到的知识,本书每章后面都配有丰富的作业供学生完成。
本书将基本概念与实例相结合,由浅入深、循序渐进地对大数据思维、技术和应用做了全面系统的介绍。全书共12章,分为大数据基础篇、大数据存储篇、大数据处理篇、大数据挖掘篇和大数据应用篇。
大数据基础篇的内容涵盖了大数据思维理念、大数据的产生与作用、大数据基本概念、大数据采集工具Flume和Scribe、大数据爬虫工具Nutch和Scapy、大数据预处理工具Kettle、大数据处理架构Hadoop;大数据存储篇的内容包含分布式文件存储系统HDFS、海量数据存储数据库系统HBase和海量数据仓库系统Hive;大数据处理篇主要介绍了分布式并发计算批处理模式MapReduce,基于内存的快速处理模式Spark,以及基于实时数据流的实时处理模式Spark Streaming;大数据挖掘篇主要对分类、预测、聚类和关联等各类大数据挖掘算法的原理和使用场景进行了描述,并使用Spark MLlib提供的机器学习算null
武志学,剑桥大学博士,曾任思杰(Citrix)公司主任研究员、成都国腾实业集团CTO、电子科技大学成都学院云计算科学与技术系第一任系主任。现任洛阳汽车工业大学副校长兼人工智能学院院长、成都信息工程大学大数据与安全工程中心主任、成都鼎晟数智科技有限公司董事长。兼任四川省云计算产业联盟副主任、四川省高性能计算专家委员会副主任委员、成都市软件行业协会专家委员会委员。
云计算开源平台OpenStack顶层设计者之一,发表国际会议和期刊论文20多篇 ,获得相关专利20余项,编写云计算、大数据图书4部,大数据在线培训平台“志学课堂” 发起人。
无
第 一部分 大数据基础篇
第 1章 大数据思维 2
1.1 什么是大数据 2
1.2 从IT时代到大数据时代 4
1.3 大数据的产生与作用 5
1.3.1 大数据的产生 6
1.3.2 大数据的作用 6
1.4 大数据时代的新理念 7
1.4.1 对研究范式的新认识:从第三范式到第四范式 7
1.4.2 对数据重要性的新认识:从数据资源到数据资产 8
1.4.3 对方法论的新认识:从基于知识到基于数据 9
1.4.4 对数据分析的新认识:从统计学到数据科学 9
1.4.5 对计算智能的新认识:从复杂算法到简单算法 10
1.4.6 对管理目标的新认识:从业务数据化到数据业务化 11
1.4.7 对决策方式的新认识:从目标驱动型到数据驱动型 12
1.4.8 对产业竞合关系的新认识:从以战略为中心到以数据为中心 12
1.4.9 对数据复杂性的新认识:从不接受到接受数据的复杂性 13
1.4.10 对数据处理模式的新认识:从小众参与到大众协同 14
1.5 总结 14
习题 14
第 2章 大数据技术概述 15
2.1 大数据处理的基本流程 15
2.1.1 数据抽取与集成 16
2.1.2 数据分析 16
2.1.3 数据解释 16
2.2 大数据关键技术 17
2.2.1 大数据采集技术 17
2.2.2 大数据预处理技术 17
2.2.3 大数据存储及管理技术 18
2.2.4 大数据处理 19
2.2.5 大数据分析及挖掘技术 19
2.2.6 大数据展示技术 20
2.3 总结 21
习题 21
第3章 大数据采集 22
3.1 大数据采集概述 22
3.1.1 大数据分类 22
3.1.2 大数据采集方法分类 23
3.2 系统日志采集方法 24
3.2.1 Flume的基本概念 24
3.2.2 Flume使用方法 25
3.2.3 Flume应用案例 26
3.3 网络数据采集方法 27
3.3.1 网络爬虫原理 27
3.3.2 网络爬虫工作流程 28
3.3.3 网络爬虫抓取策略 28
3.3.4 Scrapy网络爬虫系统 32
3.3.5 小结 36
3.4 总结 36
习题 36
第4章 大数据预处理 37
4.1 大数据预处理概述 37
4.1.1 大数据预处理整体架构 37
4.1.2 数据质量问题分类 38
4.1.3 大数据预处理方法 38
4.2 数据清洗 39
4.2.1 遗漏数据处理 40
4.2.2 噪声数据处理 40
4.2.3 不一致数据处理 42
4.3 数据集成 42
4.4 数据转换 42
4.5 数据消减 44
4.5.1 数据立方合计 44
4.5.2 维数消减 44
4.5.3 数据压缩 45
4.5.4 数据块消减 46
4.6 离散化和概念层次树 48
4.6.1 数值概念层次树 48
4.6.2 类别概念层次树 49
4.7 ETL工具Kettle 50
4.7.1 ETL工具简介 51
4.7.2 安装Kettle 51
4.7.3 Kettle的数据流处理 52
4.8 总结 55
习题 56
第5章 大数据处理系统 57
5.1 大数据技术概述 57
5.1.1 分布式计算 57
5.1.2 服务器集群 57
5.1.3 大数据的技术基础 57
5.2 Google大数据处理系统 58
5.2.1 GFS 58
5.2.2 MapReduce 60
5.2.3 BigTable 60
5.3 Hadoop大数据处理系统 61
5.3.1 Hadoop系统简介 61
5.3.2 Hadoop生态圈 61
5.3.3 Hadoop版本演进 63
5.3.4 Hadoop发行版本 63
5.4 总结 64
习题 64
第二部分 大数据存储篇
第6章 大数据文件系统HDFS 66
6.1 HDFS简介 66
6.2 HDFS基本原理 66
6.2.1 文件系统的问题 67
6.2.2 HDFS的基本思想 67
6.2.3 HDFS的设计理念 68
6.2.4 HDFS的局限 69
6.3 HDFS系统实现 69
6.3.1 HDFS整体架构 69
6.3.2 HDFS数据复制 70
6.4 HDFS数据访问机制 71
6.4.1 读取流程 71
6.4.2 写入流程 72
6.5 HDFS操作 73
6.5.1 HDFS常用命令 73
6.5.2 HDFS的Web界面 74
6.5.3 HDFS的Java API 76
6.6 总结 78
习题 79
第7章 NOSQL数据库HBASE 80
7.1 NoSQL概述 80
7.1.1 NoSQL的起因 80
7.1.2 NoSQL的特点 81
7.1.3 NoSQL数据库面临的挑战 82
7.1.4 NoSQL的类型 82
7.2 HBase概述 86
7.3 HBase数据模型 87
7.3.1 数据模型概述 87
7.3.2 数据模型的基本概念 88
7.3.3 概念视图 88
7.3.4 物理视图 89
7.4 HBase命令行 90
7.4.1 一般操作 90
7.4.2 DDL操作 90
7.4.3 DML操作 91
7.4.4 HBase表实例 93
7.5 HBase的运行机制 94
7.5.1 HBase的物理存储 94
7.5.2 HBase的逻辑架构 95
7.6 HBase的编程 96
7.6.1 HBase的常用Java API 96
7.6.2 HBase编程实例 98
7.7 总结 101
习题 101
第三部分 大数据处理篇
第8章 大数据批处理 HADOOP MAPREDUCE 103
8.1 MapReduce概述 103
8.1.1 批处理模式 103
8.1.2 MapReduce简释 104
8.1.3 MapReduce基本思想 105
8.1.4 Map函数和Reduce函数 107
8.2 Hadoop MapReduce架构 109
8.3 Hadoop MapReduce的工作流程 110
8.4 实例分析:单词计数 112
8.4.1 设计思路 112
8.4.2 处理过程 112
8.5 Hadoop MapReduce 的工作机制 113
8.5.1 Hadoop MapReduce作业执行流程 114
8.5.2 Hadoop MapReduce的Shuffle阶段 115
8.5.3 Hadoop MapReduce的主要特点 117
8.6 Hadoop MapReduce编程实战 118
8.6.1 任务准备 118
8.6.2 编写Map程序 118
8.6.3 编写Reduce程序 119
8.6.4 编写main函数 121
8.6.5 核心代码包 121
8.6.6 运行代码 122
8.7 总结 122
习题 122
第9章 大数据快速处理SPARK 124
9.1 Spark简介 124
9.1.1 Spark与Hadoop 124
9.1.2 Spark的适用场景 126
9.2 RDD概念 126
9.2.1 RDD的基本概念 126
9.2.2 RDD基本操作 127
9.2.3 RDD血缘关系 130
9.2.4 RDD依赖类型 130
9.2.5 阶段划分 131
9.2.6 RDD缓存 132
9.3 Spark运行架构和机制 133
9.3.1 Spark总体架构 133
9.3.2 Spark运行流程 134
9.4 Spark生态系统 135
9.5 Spark编程实践 137
9.5.1 启动Spark Shell 137
9.5.2 Spark Shell使用 137
9.5.3 编写Java应用程序 138
9.6 总结 140
习题 140
第 10章 大数据实时流计算SPARK STREAMING 143
10.1 Spark Streaming简介 143
10.2 Spark Streaming的系统架构 144
10.2.1 传统流处理系统架构 144
10.2.2 Spark Streaming系统架构 145
10.2.3 动态负载均衡 146
10.2.4 容错性 147
10.2.5 实时性、扩展性与吞吐量 148
10.3 编程模型 149
10.3.1 DStream的操作流程 149
10.3.2 Spark Streaming使用 149
10.3.3 DStream的输入源 150
10.4 DStream的操作 151
10.4.1 普通的转换操作 151
10.4.2 窗口转换操作 153
10.4.3 输出操作 154
10.4.4 持久化 155
10.5 编程实战 155
10.5.1 流数据模拟器 155
10.5.2 实例1:读取文件演示 156
10.5.3 实例2:网络数据演示 157
10.5.4 实例3:Stateful演示 158
10.5.5 实例4:窗口演示 159
10.6 总结 160
习题 161
第四部分 大数据挖掘篇
第 11章 大数据挖掘 16311.1 数据挖掘概述 163
11.1.1 什么是数据挖掘 163
11.1.2 数据挖掘的价值类型 164
11.1.3 数据挖掘算法的类型 165
11.2 Spark MLlib简介 166
11.2.1 Spark MLlib的构成 166
11.2.2 Spark MLlib的优势 166
11.3 分类和预测 166
11.3.1 分类的基本概念 167
11.3.2 预测的基本概念 168
11.3.3 决策树算法 168
11.3.4 朴素贝叶斯算法 172
11.3.5 回归分析 175
11.3.6 小结 180
11.4 聚类分析 180
11.4.1 基本概念 180
11.4.2 聚类分析方法的类别 181
11.4.3 k-means聚类算法 184
11.4.4 DBSCAN聚类算法 187
11.4.5 小结 190
11.5 关联分析 191
11.5.1 概述 191
11.5.2 基本概念 191
11.5.3 关联分析步骤 192
11.5.4 Apriori关联分析算法 193
11.5.5 FP-Tree关联分析算法 194
11.5.6 小结 199
11.6 总结 200
习题 200
第五部分 大数据应用篇
第 12章 大数据应用 205
12.1 大数据功能应用 205
12.1.1 基于大数据的精准营销 205
12.1.2 基于大数据的个性化推荐 208
12.1.3 大数据预测 215
12.1.4 大数据的其他应用领域 219
12.1.5 小结 221
12.2 大数据行业应用 221
12.2.1 大数据行业应用概述 221
12.2.2 金融行业大数据 222
12.2.3 互联网行业的大数据应用 229
12.2.4 物流行业大数据应用 235
12.2.5 小结 242
12.3 总结 243
习题 243