《大数据从基础理论到最佳实践》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:祁伟主编;刘冰等副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302457435
  • 页数:332 页
图书介绍:本书定位于企业级大数据平台的规划、实施与运维体系建设。系统化地介绍国内外大数据进展和云化服务的演变趋势,以及实现大数据关键技术并配合实践用例。核心内容包括:HDFS、MapReduce、YARN、Zookeeper、HBase、Hive、Sqoop、ETL、实时处理等。本书采用的均是当前业界主流开源技术,设计的大量案例均来自于一线实践产品,可有效帮助读者快速获得相关经验。

大数据存储篇 1

第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

大数据计算篇 81

第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 什么是公平调度器 86

4.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

非关系型数据库篇 137

第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

大数据仓库篇 235

第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

大数据实时计算篇 303

第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