大数据从基础理论到最佳实践

本书特色

[

本书侧重于大数据的实践性技术,系统地介绍了主流大数据平台及工具的安装部署、管理维护和应用开发。平台和工具的选择均为当前业界主流的开源产品,因此,对于读者来说,有很强的可操作性。
本书涉及的开源技术包括:HDFS、MapReduce、YARN、Zookeeper、HBase、Hive、Sqoop、Storm、Kafka、Flume等。除介绍一般性的背景知识、安装部署、管理维护和应用开发技术外,还特别注重案例实践,重要的技术点以实际工作场景或案例为依托,使读者能快速入门,参考案例动手实践,通过具体深入的实践,体会大数据的技术本质特征,领略大数据技术带来的创新理念,更好地理解和把握信息技术的发展趋势。
本书主要内容包括以下几大部分。
大数据存储篇:以HDFS为基础,介绍分布式文件系统的原理、安装、fs命令的使用、编程,介绍如何用HDFS实现,并通过HTTP调用。
大数据计算篇:以MapReduce、YARN为基础,介绍分布式计算的原理、部署,以及编程案例。
非关系型数据库篇:以HBase为基础,重点介绍非关系型数据库的优势、原理、部署,以及命令行使用,编程案例,与Sqoop配合使用等。本书侧重于大数据的实践性技术,系统地介绍了主流大数据平台及工具的安装部署、管理维护和应用开发。平台和工具的选择均为当前业界主流的开源产品,因此,对于读者来说,有很强的可操作性。
本书涉及的开源技术包括:HDFS、MapReduce、YARN、Zookeeper、HBase、Hive、Sqoop、Storm、Kafka、Flume等。除介绍一般性的背景知识、安装部署、管理维护和应用开发技术外,还特别注重案例实践,重要的技术点以实际工作场景或案例为依托,使读者能快速入门,参考案例动手实践,通过具体深入的实践,体会大数据的技术本质特征,领略大数据技术带来的创新理念,更好地理解和把握信息技术的发展趋势。
本书主要内容包括以下几大部分。
大数据存储篇:以HDFS为基础,介绍分布式文件系统的原理、安装、fs命令的使用、编程,介绍如何用HDFS实现,并通过HTTP调用。
大数据计算篇:以MapReduce、YARN为基础,介绍分布式计算的原理、部署,以及编程案例。
非关系型数据库篇:以HBase为基础,重点介绍非关系型数据库的优势、原理、部署,以及命令行使用,编程案例,与Sqoop配合使用等。
大数据仓库篇:以Hive、数据仓库等为基础,重点介绍数据的抽取、原理、部署、分析与编程。
大数据实时计算篇:以Storm、Kafka为基础,介绍实时计算的架构、组成、使用与开发。
本书非常适合从事大数据技术开发与使用的初学者,以及从事大数据技术研发的企事业单位工程师学习和参考,也适合高校计算机相关专业的专科生、本科生和研究生学习使用。

]

作者简介

[

祁伟:毕业于北京师范大学,目前担任《中国教育信息化》杂志社总编辑,具有超过20年的IT工作经验,在网络路由、服务器虚拟化、数据库等方面有深入研究和丰富的实践经验。
刘冰:毕业于中国科学院计算技术研究所,数据中心架构师,从事虚拟化、监测与大数据分析等方面研究,曾与祁伟总编共同著有《云计算:从基础架构到*实践》,现就职于教育部教育管理信息中心。
常志军:毕业于中国科学院自动化研究所,大数据平台架构师,分布式系统研究人员。先后在搜狐畅游、中国搜索、Opera欧朋、中科院自动化所从事大数据领域的探索与研发工作。
赵廷涛:毕业于中国传媒大学,现就职于科技部信息中心,有多年大数据存储研发经验,现从事数据中心管理运维工作,专注于虚拟化、应用系统建设等相关技术研究。
高俊秀:毕业于北京航空航天大学计算机学院,数据仓库架构师,八年互联网大数据从业经验。历任百度、豌豆荚、今日头条的数据平台和数据仓库核心研发和负责人,对数据在业务上发挥价值有深入的理解。

]

目录

目 录
大数据存储篇第1章 概述…. 1
1.1 什么是大数据… 2
1.2 大数据的技术转型… 3
1.3 数据分片… 4
1.4 数据一致性… 5
1.4.1 CAP原则… 5
1.4.2 CAP与ACID.. 7
1.4.3 BASE原则… 8
1.5 主流大数据技术… 8
1.6 大数据职业方向… 10
1.7 大数据实践平台的搭建… 10
1.7.1 初学者模式… 10
1.7.2 物理集群模式… 11
1.7.3 虚拟化集群模式… 11
1.8 小结… 12
第2章 HDFS文件系统…. 13
2.1 HDFS概述… 14
2.1.1 分布式文件系统… 14
2.1.2 HDFS介绍… 16
2.2 HDFS的运行机制… 18
2.2.1 HDFS的结构与组成… 18
2.2.2 HDFS的数据操作… 20
2.2.3 访问权限… 22
2.2.4 通信协议簇… 23
2.2.5 HDFS的高可用性… 24
2.2.6 集中缓存管理… 25
2.2.7 日志和检查点… 26
2.2.8 HDFS快照… 28
2.3 HDFS的数据存储… 29
2.3.1 数据完整性… 29
2.3.2 数据压缩… 30
2.3.3 序列化… 32
2.4 HDFS的安装和配置… 34
2.4.1 Hadoop的安装… 34
2.4.2 HDFS的配置… 40
2.4.3 启动HDFS. 45
2.5 小结… 47
第3章 HDFS操作实践…. 49
3.1 HDFS接口与编程… 50
3.1.1 Shell命令… 50
3.1.2 Java接口操作… 62
3.1.3 WebHDFS. 69
3.1.4 其他接口… 71
3.2 操作实践… 73
3.2.1 文件操作… 73
3.2.2 压缩与解压缩… 77
3.3 小结… 80大数据计算篇第4章 YARN.. 81
4.1 YARN概述… 82
4.2 YARN的主要组成模块… 83
4.3 YARN的整体设计… 83
4.4 容量调度器… 84
4.4.1 什么是容量调度器… 84
4.4.2 容量调度器的特性… 85
4.4.3 配置RM使用容量调度器… 85
4.5 公平调度器(Fair Scheduler) 86
4.5.1 什么是公平调度器… 864.5.2 分级队列… 87
4.5.3 公平调度器队列的设置… 87
4.6 资源管理者(RM)重启机制… 90
4.6.1 什么是资源管理器重启… 90
4.6.2 非工作保存RM重启… 90
4.6.3 工作保存RM重启… 91
4.6.4 RM重启配置yarn-site.xml 91
4.7 资源管理器的高可用性(RM HA) 92
4.7.1 什么是资源管理器的
高可用性… 92
4.7.2 自动故障转移… 92
4.7.3 客户端/应用管理器/节点
管理器的故障转移… 92
4.7.4 部署RM HA.. 93
4.7.5 配置例子… 94
4.7.6 管理员命令… 95
4.8 节点标签… 95
4.8.1 节点标签的特点… 95
4.8.2 节点标签的属性… 95
4.8.3 节点标签的配置… 96
4.8.4 使用节点标签的调度器配置… 96
4.8.5 节点标签配置示例… 97
4.8.6 指定应用的节点标签… 97
4.8.7 节点标签的监控… 98
4.9 YARN编程… 98
4.9.1 什么是YARN级别编程… 98
4.9.2 YARN的相关接口… 99
4.9.3 编程实践… 99
4.10 YARN服务注册… 107
4.10.1 为什么需要服务注册… 107
4.10.2 配置服务注册… 107
4.10.3 安全选项… 108
4.11 小结… 108
第5章 MapReduce.. 109
5.1 MapReduce概述… 110
5.1.1 Hadoop
MapReduce. 110
5.1.2 MapReduce的发展史… 110
5.1.3 MapReduce的使用场景… 111
5.2 Key-Value结构的特点… 111
5.2.1 key的设计… 111
5.2.2 value的设计… 112
5.3 MapReduce的部署… 112
5.3.1 软件准备… 112
5.3.2 配置文件… 113
5.3.3 启动YARN守护进程… 113
5.4 MapReduce的程序结构… 113
5.4.1 MR框架的输入和输出… 114
5.4.2 WordCount 114
5.5 MapReduce的编程接口… 116
5.5.1 Mapper接口… 117
5.5.2 Reducer接口… 117
5.5.3
Partitioner(分区) 118
5.5.4 Counter(计数器) 118
5.5.5 job工作机理… 118
5.5.6 任务提交和监控(Job
Submission and Monitoring) 121
5.5.7 任务的辅助文件(Task
Side-Effect Files) 123
5.5.8 提交作业到队列… 123
5.5.9 MR中的计数器(Counters) 123
5.5.10
Profiling. 123
5.5.11
Debugging. 124
5.5.12 job
Outputs. 124
5.5.13 忽略坏记录(Skipping
Bad Records) 124
5.6 MapReduce的命令行… 125
5.6.1 概述… 125
5.6.2 用户命令(User Commands) 125
5.6.3 管理员命令(Administration
Commands) 127
5.6.4 YARN-MapReduce的部署… 128
5.7 WordCount的实现… 129
5.8
小结… 136非关系型数据库篇第6章 使用HBase.. 137
6.1 HBase基础… 138
6.1.1 HBase是什么… 138
6.1.2 HBase伪分布式部署… 140
6.1.3 服务的启动与验证… 142
6.1.4 HBase Shell测试… 142
6.1.5 Web测试… 144
6.1.6 服务的关闭… 147
6.2 HBase的架构原理… 147
6.2.1 组成架构… 147
6.2.2 数据模型… 151
6.2.3 物理存储… 153
6.3 HBase的命令实践… 156
6.3.1 概述… 157
6.3.2 命名空间… 158
6.3.3 表管理… 160
6.4 HBase的数据管理… 166
6.4.1 数据的添加… 167
6.4.2 数据的追加… 168
6.4.3 数据的获取… 169
6.4.4 数据统计… 172
6.4.5 表的扫描… 173
6.4.6 数据的删除… 175
6.4.7 表的重建… 175
6.5 HBase的集群管理… 177
6.5.1 集群部署… 177
6.5.2 自动化脚本… 180
6.5.3 权限管理… 182
6.5.4 集群调度… 184
6.5.5 日志分析… 186
6.6 小结… 187
第7章 HBase编程开发…. 189
7.1 HBase的编程接口… 190
7.1.1 rest编程接口… 190
7.1.2 thrift接口… 196
7.1.3 Java API接口… 198
7.1.4 Java API示例… 199
7.2 表与命名空间的编程… 202
7.2.1 表的查看… 203
7.2.2 表的创建… 206
7.2.3 表的删除… 207
7.2.4 表的修改… 208
7.2.5 命名空间… 210
7.3 数据编程… 213
7.3.1 数据的增加… 214
7.3.2 单行查询… 216
7.3.3 集合查询… 217
7.3.4 过滤器… 219
7.3.5 数据删除… 221
7.4 集群与优化编程… 222
7.4.1 集群管理… 222
7.4.2 集群监测… 224
7.4.3 多表与表池… 227
7.4.4 批处理… 230
7.4.5 数据迁移… 231
7.5 小结… 234大数据仓库篇第8章 数据仓库概论…. 235
8.1 初识数据仓库… 236
8.1.1 什么是数据仓库… 236
8.1.2 数据仓库与数据库… 237
8.1.3 为什么要有数据仓库… 239
8.2 数据仓库的核心概念… 240
8.2.1 数据平台… 240
8.2.2 数据产品… 241
8.2.3 商务智能(BI) 242
8.2.4 元数据… 242
8.2.5 OLAP. 242
8.2.6 ETL. 243
8.2.7 数据质量… 243
8.3 数据仓库中的数据内容划分… 243
8.3.1 多个数据仓库… 243
8.3.2 典型的数据仓库分层… 245
8.3.3 数据集市… 246
8.4 OLAP. 247
8.4.1 定义… 247
8.4.2 维度建模… 248
8.4.3 事实表… 250
8.4.4 维度表… 251
8.5 ETL. 251
8.5.1 抽取… 252
8.5.2 转换… 252
8.5.3 加载… 254
8.5.4 ETL元数据… 255
8.5.5 ETL工具… 256
8.6 调度和运行… 256
8.6.1 调度怎么工作… 257
8.6.2 需要考虑的其他方面… 258
8.6.3 简易调度示例… 259
8.7 数据仓库的架构… 259
8.8 数据仓库的展望… 260
8.8.1 数据仓库发展的阶段性… 260
8.8.2 未来的数据仓库… 262
8.9 小结… 262
第9章 Hive.. 263
9.1 初识Hive. 264
9.1.1 Hive是什么… 264
9.1.2 Hive的部署… 264
9.1.3 以MySQL作为Hive的
元数据库… 266
9.1.4 Hive的体系结构… 268
9.1.5 Web界面展示… 269
9.2 Hive命令行接口… 270
9.2.1 启动Hive命令行… 270
9.2.2 可用的命令… 271
9.3 Hive数据类型与常见的结构… 271
9.3.1 数据类型… 271
9.3.2 文件的存储结构… 273
9.4 HiveSQL. 274
9.4.1 数据定义语言DDL. 274
9.4.2 数据操纵语言DML. 277
9.5 Hive的自定义函数… 283
9.5.1 UDF. 284
9.5.2 UDAF. 286
9.5.3 UDTF. 289
9.6 Hive的高级使用… 292
9.6.1 视图… 292
9.6.2 索引… 293
9.6.3 权限… 294
9.6.4 Thrift服务… 296
9.7 使用Hive构建数据仓库… 298
9.7.1 原始数据和结构… 298
9.7.2 数据需求和模型设计… 300
9.7.3 各层次数据的生成… 301
9.8 小结… 302大数据实时计算篇第10章 Storm实时系统…. 303
10.1 大数据实时系统概述… 304
10.2 Kafka分布式消息系统… 305
10.2.1 Kafka是什么… 305
10.2.2 主题的工作原理… 306
10.2.3 分布式分区… 307
10.2.4 生产者、消费者… 307
10.2.5 数据保证… 308
10.2.6 Kafka系统的应用场景… 308
10.2.7 Kafka系统的部署… 309
10.3 Storm实时处理系统… 316
10.3.1 概述… 316
10.3.2 为什么使用Storm.. 316
10.3.3 Storm系统的特点… 317
10.3.4 Storm系统的工作机制… 318
10.3.5 Storm的分组方法… 319
10.3.6 Storm系统的组件… 320
10.3.7 搭建单点Storm系统… 320
10.3.8 查看Storm UI 322
10.3.9 搭建Storm集群… 322
10.3.10 Storm系统的操作实践… 323
10.3.11 Storm
WordCount
(写RDB) 324
10.3.12 Storm
WordCount(从Kafka
读取数据) 329
10.4 小结… 331
参考文献…. 332

封面

大数据从基础理论到最佳实践

书名:大数据从基础理论到最佳实践

作者:祁伟

页数:331页

定价:¥59.8

出版社:清华大学出版社

出版日期:2017-01-01

ISBN:9787302457435

PDF电子书大小:55MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注