[套装书]大数据原理与实践:复杂信息的准备、共享和分析(原书第2版)+大数据技术体系详解:原理、架构与实践(2册)

作者
朱尔斯·J. 伯曼 董西成
丛书名
数据科学与工程技术丛书
出版社
机械工业出版社
ISBN
9782007071051
简要
简介
内容简介书籍计算机书籍 ---------------------------大数据原理与实践:复杂信息的准备、共享和分析(原书第2版)--------------------------- 当大数据资源变得越发复杂时,仅靠更强大的计算机系统已无法解决问题。本书带我们重新审视数据准备环节,重点讨论了其中至关重要但又常常被忽略的主题——标识符、不变性、内省和数据索引。此外,书中也涵盖常见的与大数据设计、架构、操作和分析相关的内容,以及涉及法律、社会和伦理问题的非技术性章节。全书视角独特,涉猎广博,尤以医学大数据分析见长,强调基本原理,不关注编程细节和数学公式,适合企业决策者、技术专家以及计算机相关专业的学生阅读。 ---------------------------大数据技术体系详解:原理、架构与实践--------------------------- 本书站在大数据落地应用的角度,系统阐述大数据从数据收集,到数据存储、分布式协调及资源管理、计算引擎、分析工具,再到数据可视化这一完整流程,本书既包含主要技术的实现原理及其框架,也包含了具体落地指导,是帮助企业和个人整体了解大数据框架不可多得的参考书。本章主要包括6个部分共16章的内容,其中:第壹部分介绍了大数据体系架构,以及Google和Hadoop技术栈;第二部分介绍大数据分析相关技术,主要涉及关系型数据收集工具Sqoop与Canel、非关系型数据收集系统Flume以及分布式消息队列Kafka;第三部分介绍大数据存储相关技术,涉及数据存储格式、分布式文件系统以及分布式数据库;第四部分介绍资源管理和服务协调相关技术,涉及资源管理和调度系统YARN以及资源协调系统ZooKeeper;第五部分介绍计算引擎相关技术,涉及批处理、交互式处理以及流式实时处理三类引擎;第六部分数据分析相关技术,涉及基于数据分析语言HQL与SQL、大数据统一编程模型及机器学习库等。
目录



---------------------------大数据原理与实践:复杂信息的准备、共享和分析(原书第2版)---------------------------


译者序
第2版前言
第1版前言
作者简介
第1章 引言 1
1.1 大数据的定义 1
1.2 大数据与小数据 2
1.3 大数据在哪里 5
1.4 大数据最常见的目的是产生小数据 6
1.5 大数据是研究领域的中心话题 6
术语表 7
参考文献 11
第2章 为非结构化数据提供结构 13
2.1 几乎所有数据都是非结构化的、
不可用的原始形式 13
2.2 词汇索引 14
2.3 术语提取 16
2.4 构建索引 19
2.5 自动编码 20
2.6 案例研究:宇宙中任意原子精确位置的快速定位(需要安装一些软件) 24
2.7 案例研究(高级):一个完整的自动编码器(12行Python代码) 26
2.8 案例研究:以词汇索引进行文本转换 28
2.9 案例研究(高级):Burrows Wheeler变换 30
术语表 32
参考文献 43
第3章 标识、去标识和重标识 45
3.1 什么是标识符 45
3.2 标识符和标识系统之间的区别 46
3.3 生成唯一标识符 48
3.4 糟糕的标识方法 50
3.5 注册唯一对象标识符 53
3.6 去标识和重标识 55
3.7 案例研究:数据清理 57
3.8 案例研究(高级):图像标题中的标识符 59
3.9 案例研究:单向散列函数 61
术语表 63
参考文献 69
第4章 元数据、语义和三元组 71
4.1 元数据 71
4.2 可扩展标记语言 71
4.3 语义和三元组 72
4.4 命名空间 74
4.5 案例研究:三元组的语法 75
4.6 案例研究:Dublin Core 77
术语表 78
参考文献 80
第5章 分类和本体论 81
5.1 关于对象关系的全部 81
5.2 分类:最简单的本体 84
5.3 本体:有多个父类的类 86
5.4 分类模型选择 88
5.5 类混合 91
5.6 本体开发的常见陷阱 92
5.7 案例研究:上层本体 93
5.8 案例研究(高级):悖论 94
5.9 案例研究(高级):RDF框架和类属性 96
5.10 案例研究(高级):可视化类关系 98
术语表 102
参考文献 111
第6章 内省 113
6.1 自我认知 113
6.2 数据对象:每个大数据集合中最基本的元素 116
6.3 大数据如何使用内省 117
6.4 案例研究:时间戳数据 119
6.5 案例研究:TripleStore 简介 121
6.6 案例研究(高级):大数据必须是面向对象的证明 125
术语表 126
参考文献 127
第7章 标准和数据集成 128
7.1 标准 128
7.2 规范与标准 132
7.3 版本控制 134
7.4 合规问题 135
7.5 案例研究:标准化巧克力茶壶 135
术语表 136
参考文献 137
第8章 不变性和永久性 139
8.1 数据不变性的重要性 139
8.2 不变性和标识符 140
8.3 数据产生数据 142
8.4 跨机构协调标识符 143
8.5 案例研究:可信时间戳 144
8.6 案例研究:区块链和分布式账本 145
8.7 案例研究(高级):零知识协调 147
术语表 148
参考文献 150
第9章 评估大数据资源的充分性 152
9.1 观察数据 152
9.2 大数据的最小必要属性 158
9.3 附加条件的数据 161
9.4 案例研究:用于查看和搜索大型文件的实用程序 162
9.5 案例研究:数据扁平化 164
术语表 164
参考文献 169
第10章 测量 170
10.1 准确性与精度 170
10.2 数据范围 171
10.3 计数 173
10.4 数据标准化和变换 176
10.5 约简数据 179
10.6 理解控制 181
10.7 没有实际意义的统计意义 182
10.8 案例研究:基因计数 183
10.9 案例研究:早期生物特征和狭窄数据范围的意义 184
术语表 185
参考文献 186
第11章 快速简单的大数据分析必不可少的技巧 188
11.1 速度和可扩展性 188
11.2 适用于大数据的快速操作,并且每台计算机都支持 193
11.3 点积—一种简单快速的相关方法 197
11.4 聚类 199
11.5 数据持久性方法(不使用数据库) 201
11.6 案例研究:爬升分类 202
11.7 案例研究(高级):数据库示例 203
11.8 案例研究(高级):NoSQL 205
术语表 205
参考文献 209
第12章 寻找大型数据集中的线索 211
12.1 分母 211
12.2 词频分布 212
12.3 异常值和异常 215
12.4 封底分析 216
12.5 案例研究:预测用户偏好 218
12.6 案例研究:人口数据的多模态 219
12.7 案例研究:大小黑洞 220
术语表 220
参考文献 224
第13章 使用随机数将大数据分析问题的规模缩小 225
13.1 (伪)随机数的显著效用 225
13.2 重采样 230
13.3 蒙特卡罗模拟法 234
13.4 案例研究:中心极限定理的证明 236
13.5 案例研究:发生一连串小概率事件的频率 237
13.6 案例研究:臭名昭著的生日问题 238
13.7 案例研究(高级):蒙提霍尔问题 239
13.8 案例研究(高级):贝叶斯分析 241
术语表 242
参考文献 244
第14章 大数据分析中的特殊注意事项 246
14.1 数据搜索理论 246
14.2 理论搜索中的数据 247
14.3 巨大的偏差 248
14.4 大数据的数据子集:不可加和不传递 251
14.5 其他大数据陷阱 252
14.6 案例研究(高级):维数灾难 254
术语表 257
参考文献 258
第15章 大数据的失败以及如何避免 260
15.1 失败很常见 260
15.2 失败的标准 261
15.3 复杂性 264
15.4 逐步走进大数据分析 265
15.5 失败之后 272
15.6 案例研究:癌症生物医学信息学网格—遥远的桥 273
15.7 案例研究:高斯Copula函数 277
术语表 278
参考文献 280
第16章 数据再分析:比分析更重要 283
16.1 第一次分析(几乎)总是错的 283
16.2 为什么再分析比分析更重要 285
16.3 案例研究:旧JADE对撞机数据的再分析 287
16.4 案例研究:通过再分析证明 287
16.5 案例研究:从旧数据中寻找新行星 288
术语表 289
参考文献 290
第17章 大数据再利用 294
17.1 什么是数据再利用 294
17.2 暗数据、废弃数据和遗留数据 296
17.3 案例研究:从邮政编码到人口统计学基础 297
17.4 案例研究:基因序列数据库的科学推断 298
17.5 案例研究:将全球变暖与高强度飓风联系起来 298
17.6 案例研究:用地质数据推断气候趋势 299
17.7 案例研究:环月影像恢复工程 299
术语表 301
参考文献 301
第18章 数据共享和数据安全 303
18.1 什么是数据共享,为什么我们不共享更多数据 303
18.2 常见的不满 303
18.3 数据安全和加密协议 308
18.4 案例研究:火星上的生命 313
18.5 案例研究:个人标识符 314
术语表 315
参考文献 317
第19章 合法性 320
19.1 对数据的准确性和合法性负责 320
19.2 创建、使用和共享资源的权利 322
19.3 因使用标准而招致的版权和专利侵权行为 324
19.4 对个人的保护 325
19.5 许可问题 326
19.6 未经许可的数据 330
19.7 隐私策略 332
19.8 案例研究:大数据的时效性 333
19.9 案例:哈瓦苏派的故事 334
术语表 335
参考文献 336
第20章 社会问题 338
20.1 公众的大数据感知 338
20.2 用大数据降低成本和提高生产效率 340
20.3 公众的疑虑 342
20.4 从自己做起 343
20.5 谁是大数据 344
20.6 傲慢和夸张 349
20.7 案例研究:公民科学家 351
20.8 案例研究:乔治·奥威尔的《1984》 354
术语表 354
参考文献 355



---------------------------大数据技术体系详解:原理、架构与实践---------------------------


前 言
第一部分 概述篇
第1章 企业级大数据技术体系概述 2
1.1 大数据系统产生背景及应用场景 2
1.1.1 产生背景 2
1.1.2 常见大数据应用场景 3
1.2 企业级大数据技术框架 5
1.2.1 数据收集层 6
1.2.2 数据存储层 7
1.2.3 资源管理与服务协调层 7
1.2.4 计算引擎层 8
1.2.5 数据分析层 9
1.2.6 数据可视化层 9
1.3 企业级大数据技术实现方案 9
1.3.1 Google大数据技术栈 10
1.3.2 Hadoop与Spark开源大数据技术栈 12
1.4 大数据架构:Lambda Architecture 15
1.5 Hadoop与Spark版本选择及安装部署 16
1.5.1 Hadoop与Spark版本选择 16
1.5.2 Hadoop与Spark安装部署 17
1.6 小结 18
1.7 本章问题 18
第二部分 数据收集篇
第2章 关系型数据的收集 20
2.1 Sqoop概述 20
2.1.1 设计动机 20
2.1.2 Sqoop基本思想及特点 21
2.2 Sqoop基本架构 21
2.2.1 Sqoop1基本架构 22
2.2.2 Sqoop2基本架构 23
2.2.3 Sqoop1与Sqoop2对比 24
2.3 Sqoop使用方式 25
2.3.1 Sqoop1使用方式 25
2.3.2 Sqoop2使用方式 28
2.4 数据增量收集CDC 31
2.4.1 CDC动机与应用场景 31
2.4.2 CDC开源实现Canal 32
2.4.3 多机房数据同步系统Otter 33
2.5 小结 35
2.6 本章问题 35
第3章 非关系型数据的收集 36
3.1 概述 36
3.1.1 Flume设计动机 36
3.1.2 Flume基本思想及特点 37
3.2 Flume NG基本架构 38
3.2.1 Flume NG基本架构 38
3.2.2 Flume NG高级组件 41
3.3 Flume NG数据流拓扑构建方法 42
3.3.1 如何构建数据流拓扑 42
3.3.2 数据流拓扑实例剖析 46
3.4 小结 50
3.5 本章问题 50
第4章 分布式消息队列Kafka 51
4.1 概述 51
4.1.1 Kafka设计动机 51
4.1.2 Kafka特点 53
4.2 Kafka设计架构 53
4.2.1 Kafka基本架构 54
4.2.2 Kafka各组件详解 54
4.2.3 Kafka关键技术点 58
4.3 Kafka程序设计 60
4.3.1 Producer程序设计 61
4.3.2 Consumer程序设计 63
4.3.3 开源Producer与Consumer实现 65
4.4 Kafka典型应用场景 65
4.5 小结 67
4.6 本章问题 67
第三部分 数据存储篇
第5章 数据序列化与文件存储格式 70
5.1 数据序列化的意义 70
5.2 数据序列化方案 72
5.2.1 序列化框架Thrift 72
5.2.2 序列化框架Protobuf 74
5.2.3 序列化框架Avro 76
5.2.4 序列化框架对比 78
5.3 文件存储格式剖析 79
5.3.1 行存储与列存储 79
5.3.2 行式存储格式 80
5.3.3 列式存储格式ORC、Parquet与CarbonData 82
5.4 小结 88
5.5 本章问题 89
第6章 分布式文件系统 90
6.1 背景 90
6.2 文件级别和块级别的分布式文件系统 91
6.2.1 文件级别的分布式系统 91
6.2.2 块级别的分布式系统 92
6.3 HDFS基本架构 93
6.4 HDFS关键技术 94
6.4.1 容错性设计 95
6.4.2 副本放置策略 95
6.4.3 异构存储介质 96
6.4.4 集中式缓存管理 97
6.5 HDFS访问方式 98
6.5.1 HDFS shell 98
6.5.2 HDFS API 100
6.5.3 数据收集组件 101
6.5.4 计算引擎 102
6.6 小结 102
6.7 本章问题 103
第7章 分布式结构化存储系统 104
7.1 背景 104
7.2 HBase数据模型 105
7.2.1 逻辑数据模型 105
7.2.2 物理数据存储 107
7.3 HBase基本架构 108
7.3.1 HBase基本架构 108
7.3.2 HBase内部原理 110
7.4 HBase访问方式 114
7.4.1 HBase shell 114
7.4.2 HBase API 116
7.4.3 数据收集组件 118
7.4.4 计算引擎 119
7.4.5 Apache Phoenix 119
7.5 HBase应用案例 120
7.5.1 社交关系数据存储 120
7.5.2 时间序列数据库OpenTSDB 122
7.6 分布式列式存储系统Kudu 125
7.6.1 Kudu基本特点 125
7.6.2 Kudu数据模型与架构 126
7.6.3 HBase与Kudu对比 126
7.7 小结 127
7.8 本章问题 127
第四部分 分布式协调与资源管理篇
第8章 分布式协调服务ZooKeeper 130
8.1 分布式协调服务的存在意义 130
8.1.1 leader选举 130
8.1.2 负载均衡 131
8.2 ZooKeeper数据模型 132
8.3 ZooKeeper基本架构 133
8.4 ZooKeeper程序设计 134
8.4.1 ZooKeeper API 135
8.4.2 Apache Curator 139
8.5 ZooKeeper应用案例 142
8.5.1 leader选举 142
8.5.2 分布式队列 143
8.5.3 负载均衡 143
8.6 小结 144
8.7 本章问题 145
第9章 资源管理与调度系统YARN 146
9.1 YARN产生背景 146
9.1.1 MRv1局限性 146
9.1.2 YARN设计动机 147
9.2 YARN设计思想 148
9.3 YARN的基本架构与原理 149
9.3.1 YARN基本架构 149
9.3.2 YARN高可用 152
9.3.3 YARN工作流程 153
9.4 YARN资源调度器 155
9.4.1 层级队列管理机制 155
9.4.2 多租户资源调度器产生背景 156
9.4.3 Capacity/Fair Scheduler 157
9.4.4 基于节点标签的调度 160
9.4.5 资源抢占模型 163
9.5 YARN资源隔离 164
9.6 以YARN为核心的生态系统 165
9.7 资源管理系统Mesos 167
9.7.1 Mesos基本架构 167
9.7.2 Mesos资源分配策略 169
9.7.3 Mesos与YARN对比 170
9.8 资源管理系统架构演化 170
9.8.1 集中式架构 171
9.8.2 双层调度架构 171
9.8.3 共享状态架构 172
9.9 小结 173
9.10 本章问题 173
第五部分 大数据计算引擎篇
第10章 批处理引擎MapReduce 176
10.1 概述 176
10.1.1 MapReduce产生背景 176
10.1.2 MapReduce设计目标 177
10.2 MapReduce编程模型 178
10.2.1 编程思想 178
10.2.2 MapReduce编程组件 179
10.3 MapReduce程序设计 187
10.3.1 MapReduce程序设计基础 187
10.3.2 MapReduce程序设计进阶 194
10.3.3 Hadoop Streaming 198
10.4 MapReduce内部原理 204
10.4.1 MapReduce作业生命周期 204
10.4.2 MapTask与ReduceTask 206
10.4.3 MapReduce关键技术 209
10.5 MapReduce应用实例 211
10.6 小结 213
10.7 本章问题 213
第11章 DAG计算引擎Spark 215
11.1 概述 215
11.1.1 Spark产生背景 215
11.1.2 Spark主要特点 217
11.2 Spark编程模型 218
11.2.1 Spark核心概念 218
11.2.2 Spark程序基本框架 220
11.2.3 Spark编程接口 221
11.3 Spark运行模式 227
11.3.1 Standalone模式 229
11.3.2 YARN模式 230
11.3.3 Spark Shell 232
11.4 Spark程序设计实例 232
11.4.1 构建倒排索引 232
11.4.2 SQL GroupBy实现 234
11.4.3 应用程序提交 235
11.5 Spark内部原理 236
11.5.1 Spark作业生命周期 237
11.5.2 Spark Shuffle 241
11.6 DataFrame、Dataset与SQL 247
11.6.1 DataFrame/Dataset与SQL的关系 248
11.6.2 DataFrame/Dataset程序设计 249
11.6.3 DataFrame/Dataset程序实例 254
11.7 Spark生态系统 257
11.8 小结 257
11.9 本章问题 258
第12章 交互式计算引擎 261
12.1 概述 261
12.1.1 产生背景 261
12.1.2 交互式查询引擎分类 262
12.1.3 常见的开源实现 263
12.2 ROLAP 263
12.2.1 Impala 263
12.2.2 Presto 267
12.2.3 Impala与Presto对比 271
12.3 MOLAP 271
12.3.1 Druid简介 271
12.3.2 Kylin简介 272
12.3.3 Druid与Kylin对比 274
12.4 小结 274
12.5 本章问题 274
第13章 流式实时计算引擎 276
13.1 概述 276
13.1.1 产生背景 276
13.1.2 常见的开源实现 278
13.2 Storm基础与实战 278
13.2.1 Storm概念与架构 279
13.2.2 Storm程序设计实例 282
13.2.3 Storm内部原理 285
13.3 Spark Streaming基础与实战 290
13.3.1 概念与架构 290
13.3.2 程序设计基础 291
13.3.3 编程实例详解 298
13.3.4 容错性讨论 300
13.4 流式计算引擎对比 303
13.5 小结 304
13.6 本章问题 304
第六部分 数据分析篇
第14章 数据分析语言HQL与SQL 308
14.1 概述 308
14.1.1 背景 308
14.1.2 SQL On Hadoop 309
14.2 Hive架构 309
14.2.1 Hive基本架构 310
14.2.2 Hive查询引擎 311
14.3 Spark SQL架构 312
14.3.1 Spark SQL基本架构 312
14.3.2 Spark SQL与Hive对比 313
14.4 HQL 314
14.4.1 HQL基本语法 314
14.4.2 HQL应用实例 320
14.5 小结 322
14.6 本章问题 322
第15章 大数据统一编程模型 325
15.1 产生背景 325
15.2 Apache Beam基本构成 327
15.2.1 Beam SDK 327
15.2.2 Beam Runner 328
15.3 Apache Beam编程模型 329
15.3.1 构建Pipeline 330
15.3.2 创建PCollection 331
15.3.3 使用Transform 334
15.3.4 side input与side output 340
15.4 Apache Beam流式计算模型 341
15.4.1 window简述 342
15.4.2 watermark、trigger与accumulation 344
15.5 Apache Beam编程实例 346
15.5.1 WordCount 346
15.5.2 移动游戏用户行为分析 348
15.6 小结 350
15.7 本章问题 350
第16章 大数据机器学习库 351
16.1 机器学习库简介 351
16.2 MLLib 机器学习库 354
16.2.1 Pipeline 355
16.2.2 特征工程 357
16.2.3 机器学习算法 360
16.3 小结 361
16.4 本章问题 361



有问题微信扫码联系

推荐

Understand China
桂ICP备20004708号-4