×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
大数据技术原理与应用 概念、存储、处理、分析与应用 第4版

大数据技术原理与应用 概念、存储、处理、分析与应用 第4版

1星价 ¥53.3 (8.2折)
2星价¥53.3 定价¥65.0
图文详情
  • ISBN:9787115641816
  • 装帧:平装-胶订
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:308
  • 出版时间:2024-08-01
  • 条形码:9787115641816 ; 978-7-115-64181-6

本书特色

【内容特点】

(1)内容全面,结构合理:每篇有知识地图,每章配有本章小结、习题和实验。

(2)理论讲解透彻,案例分析详尽:理论内容通俗易懂,结合案例讲解方法和技术,易于教和学。

【资源特点】重点难点知识微课,配套PPT、程序源代码、习题答案等。

【服务特点】作者提供QQ服务群等支持,定期举办直播进行教学培训。

内容简介

本书系统介绍大数据的相关知识,分为大数据基础篇、大数据存储与管理篇、大数据处理与分析篇、大数据应用篇。本书共14章,内容包括大数据概述、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、MapReduce、Hadoop再探讨、数据仓库Hive、Spark、流计算、Flink、图计算、大数据应用等。本书在与HDFS、HBase、MapReduce、Hive、Spark和Flink等相关的章中安排了入门级的实验,以帮助读者更好地学习和掌握大数据的关键技术。
本书可以作为高等院校大数据、计算机、信息管理等相关专业的大数据课程教材,也可供相关技术人员参考。

目录

第 1篇 大数据基础



第 1章 大数据概述 2

1.1 大数据时代 2

1.1.1 第三次信息化浪潮 2

1.1.2 信息科技为大数据时代提供技术支撑 3

1.1.3 数据产生方式的变革促成大数据时代的到来 4

1.1.4 大数据的发展历程 5

1.2 什么是大数据 7

1.2.1 数据量大 7

1.2.2 数据类型繁多 8

1.2.3 处理速度快 9

1.2.4 价值密度低 9

1.3 大数据的影响 10

1.3.1 大数据对科学研究的影响 10

1.3.2 大数据对思维方式的影响 11

1.3.3 大数据对社会发展的影响 12

1.3.4 大数据对就业市场的影响 13

1.3.5 大数据对人才培养的影响 13

1.4 大数据的应用 14

1.4.1 大数据在各个领域的应用 15

1.4.2 大数据应用的3个层次 16

1.5 大数据关键技术 17

1.6 大数据计算模式 18

1.6.1 批处理计算 18

1.6.2 流计算 18

1.6.3 图计算 19

1.6.4 查询分析计算 19

1.7 大数据产业 19

1.8 大数据与云计算、物联网 21

1.8.1 云计算 21

1.8.2 物联网 24

1.8.3 大数据与云计算、物联网的关系 28

1.9 本章小结 29

1.10 习题 30

第 2章 大数据处理架构Hadoop 31

2.1 Hadoop概述 31

2.1.1 Hadoop简介 31

2.1.2 Hadoop的发展简史 31

2.1.3 Hadoop的特性 32

2.1.4 Hadoop的应用现状 32

2.1.5 Hadoop的版本 33

2.2 Hadoop生态系统 33

2.2.1 HDFS 34

2.2.2 HBase 34

2.2.3 MapReduce 34

2.2.4 Hive 34

2.2.5 Pig 35

2.2.6 Mahout 35

2.2.7 ZooKeeper 35

2.2.8 Flume 35

2.2.9 Kafka 35

2.2.10 Ambari 35

2.3 Hadoop的安装与使用 36

2.3.1 创建hadoop用户 36

2.3.2 更新apt和安装Vim编辑器 37

2.3.3 安装SSH和配置SSH无密码登录 37

2.3.4 安装Java环境 37

2.3.5 安装单机Hadoop 38

2.3.6 Hadoop伪分布式安装 39

2.4 本章小结 41

2.5 习题 42

实验1 熟悉常用的Linux操作和Hadoop操作 42



第 2篇 大数据存储与管理



第3章 分布式文件系统HDFS 48

3.1 分布式文件系统 48

3.1.1 计算机集群的基本架构 48

3.1.2 分布式文件系统的结构 49

3.1.3 分布式文件系统的设计需求 50

3.2 HDFS简介 50

3.3 HDFS的相关概念 51

3.3.1 数据块 52

3.3.2 名称节点和数据节点 52

3.3.3 第二名称节点 53

3.4 HDFS体系结构 54

3.4.1 HDFS概述 54

3.4.2 HDFS命名空间管理 55

3.4.3 通信协议 56

3.4.4 客户端 56

3.4.5 HDFS体系结构的局限性 56

3.5 HDFS的存储原理 56

3.5.1 数据的冗余存储 56

3.5.2 数据存取策略 57

3.5.3 数据错误与恢复 58

3.6 HDFS的数据读写过程 59

3.6.1 读数据的过程 59

3.6.2 写数据的过程 60

3.7 HDFS编程实践 61

3.7.1 HDFS常用命令 61

3.7.2 HDFS的Web页面 63

3.7.3 HDFS常用Java API及应用实例 64

3.8 本章小结 67

3.9 习题 67

实验2 熟悉常用的HDFS操作 68

第4章 分布式数据库HBase 70

4.1 HBase概述 70

4.1.1 从BigTable说起 70

4.1.2 HBase简介 70

4.1.3 HBase与传统关系数据库的对比分析 71

4.2 HBase访问接口 72

4.3 HBase数据模型 73

4.3.1 数据模型概述 73

4.3.2 数据模型的相关概念 73

4.3.3 数据坐标 74

4.3.4 概念视图 75

4.3.5 物理视图 75

4.3.6 面向列的存储 76

4.4 HBase的实现原理 78

4.4.1 HBase的功能组件 78

4.4.2 表和Region 79

4.4.3 Region的定位 79

4.5 HBase运行机制 81

4.5.1 HBase的系统架构 81

4.5.2 Region服务器的工作原理 83

4.5.3 Store的工作原理 84

4.5.4 HLog文件的工作原理 85

4.6 HBase编程实践 85

4.6.1 HBase常用的Shell命令 86

4.6.2 HBase常用的Java API及应用实例 88

4.7 本章小结 98

4.8 习题 99

实验3 熟悉常用的HBase操作 99

第5章 NoSQL数据库 102

5.1 NoSQL数据库简介 102

5.2 NoSQL数据库兴起的原因 103

5.2.1 关系数据库无法满足Web 2.0的需求 103

5.2.2 关系数据库的关键特性在Web 2.0时代成为“鸡肋” 104

5.3 NoSQL数据库与关系数据库的简单比较 105

5.4 NoSQL数据库的四大类型 106

5.4.1 键值数据库 107

5.4.2 列族数据库 108

5.4.3 文档数据库 108

5.4.4 图数据库 109

5.5 NoSQL数据库的三大基石 109

5.5.1 第 一大基石:CAP 109

5.5.2 第二大基石:BASE 111

5.5.3 第三大基石:*终一致性 113

5.6 从NoSQL数据库到NewSQL数据库 113

5.7 本章小结 115

5.8 习题 115

实验4 NoSQL数据库和关系数据库的操作比较 115

第6章 云数据库 119

6.1 云数据库概述 119

6.1.1 云计算是云数据库兴起的基础 119

6.1.2 云数据库的概念 120

6.1.3 云数据库的特性 121

6.1.4 云数据库是个性化数据存储需求的理想选择 123

6.1.5 云数据库与其他数据库的关系 123

6.2 云数据库产品 124

6.2.1 主流云数据库厂商简介 124

6.2.2 亚马逊的云数据库产品 125

6.2.3 谷歌的云数据库产品 125

6.2.4 微软的云数据库产品 125

6.2.5 其他云数据库产品 126

6.3 云数据库系统架构 127

6.3.1 UMP系统概述 127

6.3.2 UMP系统架构 127

6.3.3 UMP系统功能 130

6.4 本章小结 132

6.5 习题 132



第3篇 大数据处理与分析



第7章 MapReduce 134

7.1 MapReduce概述 134

7.1.1 分布式并行编程 134

7.1.2 MapReduce模型简介 135

7.1.3 Map和Reduce函数 135

7.2 MapReduce的工作流程 136

7.2.1 MapReduce工作流程概述 136

7.2.2 MapReduce工作流程的各个执行阶段 137

7.2.3 Shuffle过程详解 138

7.3 实例分析:WordCount 141

7.3.1 WordCount的程序任务 141

7.3.2 WordCount的设计思路 141

7.3.3 WordCount的具体执行过程 142

7.3.4 一个WordCount执行过程的实例 143

7.4 MapReduce的具体应用 144

7.4.1 关系代数运算 144

7.4.2 分组与聚合运算 146

7.4.3 矩阵-向量乘法 146

7.4.4 矩阵乘法 146

7.5 MapReduce编程实践 147

7.5.1 任务要求 147

7.5.2 编写Map处理逻辑 148

7.5.3 编写Reduce处理逻辑 149

7.5.4 编写main函数 149

7.5.5 编译打包代码以及运行程序 150

7.6 本章小结 153

7.7 习题 153

实验5 MapReduce初级编程实践 154

第8章 Hadoop再探讨 157

8.1 Hadoop的优化 157

8.1.1 Hadoop的局限与不足 157

8.1.2 针对Hadoop的改进与提升 158

8.2 HDFS 2.0的新特性 158

8.2.1 HDFS HA 158

8.2.2 HDFS联邦 160

8.3 新一代资源调度管理框架YARN 161

8.3.1 MapReduce 1.0的缺陷 162

8.3.2 YARN设计思路 162

8.3.3 YARN体系结构 163

8.3.4 YARN工作流程 165

8.3.5 YARN框架与MapReduce 1.0框架的对比分析 166

8.3.6 YARN的发展目标 167

8.4 本章小结 168

8.5 习题 168

第9章 数据仓库Hive 169

9.1 数据仓库的概念 169

9.2 数据湖 171

9.2.1 数据湖的概念 171

9.2.2 数据湖与数据仓库的区别 172

9.2.3 数据湖能解决的企业问题 173

9.3 湖仓一体 173

9.4 数据仓库Hive概述 174

9.4.1 传统数据仓库面临的挑战 174

9.4.2 Hive简介 175

9.4.3 Hive与Hadoop生态系统中其他组件的关系 175

9.4.4 Hive与传统数据库的对比分析 176

9.4.5 Hive在企业中的部署和应用 176

9.5 Hive系统架构 178

9.6 Hive工作原理 178

9.6.1 SQL语句转换成MapReduce作业的基本原理 179

9.6.2 SQL查询转换成MapReduce作业的过程 180

9.7 Hive HA基本原理 181

9.8 Impala 182

9.8.1 Impala简介 182

9.8.2 Impala的系统架构 183

9.8.3 Impala查询的执行过程 183

9.8.4 Impala与Hive的比较 184

9.9 Hive编程实践 185

9.9.1 Hive的数据类型 185

9.9.2 Hive的基本操作 186

9.9.3 Hive应用实例:WordCount 189

9.9.4 Hive编程的优势 189

9.10 本章小结 190

9.11 习题 190

实验6 熟悉Hive的基本操作 191

第 10章 Spark 193

10.1 Spark概述 193

10.1.1 Spark简介 193

10.1.2 Scala简介 194

10.1.3 Spark与Hadoop的对比 194

10.2 Spark生态系统 196

10.3 Spark运行架构 198

10.3.1 基本概念 198

10.3.2 架构设计 198

10.3.3 Spark运行基本流程 199

10.3.4 RDD的设计与运行原理 200

10.4 Spark的部署模式和应用方式 209

10.4.1 Spark的部署模式 209

10.4.2 从“Hadoop Storm”架构转向Spark架构 210

10.4.3 Hadoop和Spark的统一部署 211

10.5 Spark编程实践 212

10.5.1 启动Spark Shell 212

10.5.2 RDD基本操作 212

10.5.3 Spark应用程序 217

10.6 本章小结 221

10.7 习题 222

实验7 Spark初级编程实践 222

第 11章 流计算 225

11.1 流计算概述 225

11.1.1 静态数据和流数据 225

11.1.2 批量计算和实时计算 226

11.1.3 流计算的概念 226

11.1.4 流计算与Hadoop 227

11.1.5 流计算框架与平台 227

11.2 流计算的处理流程 228

11.2.1 概述 228

11.2.2 数据实时采集 229

11.2.3 数据实时计算 229

11.2.4 实时查询服务 229

11.3 流计算的应用场景 230

11.3.1 应用场景1:实时分析 230

11.3.2 应用场景2:实时交通 231

11.4 流计算框架Storm 231

11.5 流计算框架Spark Streaming 232

11.6 流处理框架Structured Streaming 233

11.6.1 Structured Streaming简介 233

11.6.2 Structured Streaming的关键思想 233

11.6.3 Structured Streaming的两种处理模型 234

11.7 流计算框架Flink 235

11.8 本章小结 236

11.9 习题 236

第 12章 Flink 237

12.1 Flink简介 237

12.2 为什么选择Flink 237

12.2.1 传统数据处理架构 238

12.2.2 大数据Lambda架构 238

12.2.3 流处理架构 239

12.2.4 Flink是理想的流计算框架 240

12.2.5 Flink的优势 240

12.3 Flink典型应用场景 241

12.3.1 事件驱动型应用 241

12.3.2 数据分析应用 242

12.3.3 数据流水线应用 243

12.4 Flink核心组件栈 244

12.5 Flink体系架构 244

12.6 Flink编程模型 246

12.7 Flink编程实践 246

12.7.1 安装Flink 246

12.7.2 编程实现WordCount程序 248

12.8 本章小结 252

12.9 习题 252

实验8 Flink初级编程实践 253

第 13章 图计算 254

13.1 图计算简介 254

13.1.1 传统图计算解决方案的不足之处 254

13.1.2 通用图计算软件 255

13.2 Pregel简介 256

13.3 Pregel图计算模型 256

13.3.1 有向图和顶点 256

13.3.2 顶点之间的消息传递 256

13.3.3 Pregel计算过程 257

13.3.4 Pregel计算过程的实例 258

13.4 Pregel的C API 260

13.4.1 消息传递机制 261

13.4.2 Combiner 261

13.4.3 Aggregator 262

13.4.4 拓扑改变 262

13.4.5 输入和输出 262

13.5 Pregel的体系结构 263

13.5.1 Pregel的执行过程 263

13.5.2 容错性 264

13.5.3 Worker 265

13.5.4 Master 265

13.5.5 Aggregator 266

13.6 Pregel的应用实例 266

13.6.1 单源*短路径问题 266

13.6.2 二分匹配问题 267

13.7 Pregel和MapReduce实现PageRank算法的对比 268

13.7.1 PageRank算法 269

13.7.2 PageRank算法在Pregel中的实现 269

13.7.3 PageRank算法在MapReduce中的实现 270

13.7.4 PageRank算法在Pregel 和MapReduce中实现方式的比较 272

13.8 本章小结 272

13.9 习题 273





第4篇 大数据应用



第 14章 大数据应用 276

14.1 大数据在互联网领域的应用 276

14.2 大数据在生物医学领域的应用 277

14.2.1 流行病预测 277

14.2.2 智慧医疗 278

14.2.3 生物信息学 279

14.3 大数据在物流领域的应用 279

14.3.1 智能物流的概念 280

14.3.2 大数据是智能物流的关键 280

14.3.3 中国智能物流骨干网—菜鸟 280

14.4 大数据在城市管理领域的应用 281

14.4.1 智能交通 281

14.4.2 环保监测 282

14.4.3 城市规划 282

14.4.4 安防 283

14.5 大数据在金融领域的应用 283

14.5.1 高频交易 284

14.5.2 市场情绪分析 284

14.5.3 信贷风险分析 284

14.5.4 大数据征信 285

14.6 大数据在汽车领域的应用 286

14.7 大数据在零售领域的应用 286

14.7.1 发现关联购买行为 286

14.7.2 客户群体细分 287

14.7.3 供应链管理 288

14.8 大数据在餐饮领域的应用 288

14.8.1 餐饮领域拥抱大数据 288

14.8.2 餐饮O2O 288

14.9 大数据在电信领域的应用 289

14.10 大数据在能源领域的应用 290

14.11 大数据在体育和娱乐领域的应用 291

14.11.1 训练球队 291

14.11.2 投拍影视作品 291

14.11.3 预测比赛结果 292

14.12 大数据在安全领域的应用 292

14.12.1 “棱镜门”事件 292

14.12.2 应用大数据技术防御网络攻击 293

14.12.3 应用大数据工具预防犯罪 293

14.13 大数据在日常生活中的应用 294

14.14 本章小结 295

14.15 习题 296

参考文献 297

展开全部

作者简介

林子雨(1978-),男,博士(毕业于北京大学),国内高校知名大数据教师,厦门大学计算机科学系副教授,厦门大学信息学院实验教学中心主任,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员,中国高校首个“数字教师”提出者和建设者。厦门大学2013年度、2017年度和2020年度奖教金获得者,获评“厦门大学2019年度本科教学示范岗”,入选“2021年高校计算机专业优秀教师奖励计划”。2013年开始在厦门大学开设大数据课程,建设了国内高校首个大数据课程公共服务平台,平台累计网络访问量超过1500万次,成为全国高校大数据教学知名品牌,并荣获“2018年福建省教学成果二等奖”和“2018年厦门大学教学成果特等奖”,主持的课程《大数据技术原理与应用》获评“2018年国家精品在线开放课程”、“2020年国家级线上一流本科课程”和“2021年福建省线上线下混合一流本科课程”,主持的课程《Spark编程基础》获评“2020年福建省线上一流本科课程”。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航