大数据:从基础理论到最佳实践pdf下载pdf下载

大数据:从基础理论到最佳实践百度网盘pdf下载

作者:
简介:本篇主要提供大数据:从基础理论到最佳实践pdf下载
出版社:清华大学出版社
出版时间:2017-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

编辑推荐

  《大数据:从基础理论到*佳实践》作者团队有丰富的大数据规划、开发、运营经验,多位作者成功架构了国家部委、互联网等大数据架构与分析项目,实战经验丰富。
  理念先进,方便读者全面了解大数据实践应用情况。
  技术领先,采用的平台均是业界的主流开源平台。
  案例丰富,提供翔实的实例与解决方案,供项目实施中参考。

内容简介

  《大数据:从基础理论到*佳实践》侧重于大数据的实践性技术,系统地介绍了主流大数据平台及工具的安装部署、管理维护和应用开发。平台和工具的选择均为当前业界主流的开源产品,因此,对于读者来说,有很强的可操作性。
  本书涉及的开源技术包括: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 什么是公平调度器 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
非关系型数据库篇
第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
第9章 Hive 263
大数据实时计算篇
第10章 Storm实时系统 303

精彩书摘

  第2章 HDFS文件系统
  本章介绍Hadoop的核心组成部分HDFS文件系统,包括其原理、安装与配置、管理及外部编程接口等。通过对本章内容的学习,使读者掌握分布式文件系统的主要结构、HDFS文件系统的内部运行原理和机制、HDFS的数据读写方式,同时,了解HDFS文件系统的数据传输和存储模式。
  本章最后将详细介绍Hadoop的安装和基本配置。学习完本章后,读者可以搭建自己的Hadoop集群。
  HDFS文件系统的结构与组成
  HDFS系统的数据读写
  HDFS系统的数据存储及数据完整性
  Hadoop的安装及配置
  2.1 HDFS概述
  Hadoop实现了一个分布式文件系统(Hadoop Distributed File System,HDFS),HDFS是Apache Hadoop Core项目的一部分,是Hadoop兼容性最好的标准级分布式文件系统。
  2.1.1 分布式文件系统
  当今的信息时代中,人们可以获取的数据成指数倍地增长。单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,在容量大小、容量增长速度、数据备份、数据安全等方面都不适用,对于数据量很大的应用系统来说尤其如此。分布式文件系统可以有效解决数据的存储和管理难题。
  分布式文件系统(Distributed File System,DFS)指通过一套管理系统,能够将文件分散至不同的计算机进行存储,并通过规范的标准协议,方便客户机进行高效存取。
  与单机的文件系统不同,分布式文件系统不是将数据放在一块磁盘上由上层操作系统来管理,而是存放在一个服务器集群上,由集群中的服务器通过各尽其责、通力合作的方式提供整个文件系统的服务。将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,这些节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无须关心数据是存储在哪个节点上,或者是从哪个节点获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据即可。
  分布式文件系统中,重要的服务器包括:主控服务器(Master/NameNode)、数据服务器(一般称为ChunkServer或DataNode)和客户服务器(Client)。分布式文件系统的典型架构如图2-1所示。
  图2-1 典型分布式文件系统的结构
  1. 分布式文件系统的特点
  与传统文件系统相比,分布式文件系统具有以下主要特点。
  (1) 可扩展性强。扩展能力是一个分布式文件系统最重要的特点。基本上,所有的分布式文件系统都支持随时随地对数据服务器进行扩展,提升存储容量和访问带宽等。有的系统还支持多个目录/主控服务器。
  (2) 统一命名空间。采用统一命名空间,分布式文件系统对于客户端是完全透明的,客户端看到的是统一的全局命名空间,用户操作起来就像是管理本地文件系统。通过元数据管理,文件以块的方式采用多副本模式进行存放。
  (3) 高性能。由于一个文件被分成多份,保存在不同的数据服务器上,访问时,可以同时读取,性能会达到最优。
  (4) 高可用性。分布式文件系统必须具有高容错能力,即无论是客户端还是服务器出现故障,都不会影响整个系统的功能。为了做到这一点,单点失效是必须被避免的,例如使用资源冗余技术或者提供失效恢复服务。单个数据节点的故障并不会影响集群整体运转。
  (5) 弹性存储。可以根据业务需要灵活地增加或缩减数据存储以及增删存储池中的资源,而不需要中断系统运行。弹性存储的最大挑战,是减小或增加资源时的数据震荡问题。
  ……

前言/序言

  技术革命的浪潮推动着人类文明的发展。
  第一次浪潮造就了农业革命,它在数千年前出现并持续了数千年;第二次浪潮造就了工业革命,它在数百年前出现并持续了数百年;我们今天正在经历着信息技术第三次浪潮,发端于数十年前,目前也只是处在初级阶段。
  农业技术革命释放了"物之力";工业技术革命释放了"能之力",而今天的信息技术革命释放的是"智之力"。
  距今400年前,培根在《伟大的复兴》中预言:知识就是力量。今天,人类终于迎来"知识经济时代",它是人类社会经济增长方式与经济发展的全新模式。
  人类认识物质世界、人类社会和精神世界的最高境界是智慧,而要达智慧的境界,必然要跨越数据、信息、知识三个层级。
  数据作为基础,是信息之母、知识之初、智慧之源。正是今天的大数据技术,引燃了人们实现智慧城市、智慧医疗、智慧教育等有关人工智慧的激情。人们真切地认识到,对于人工智能,只要让数据发生质变,即使是简单的数据,也比复杂的算法更有效。
  今天,移动互联网的发展,使我们在获取数据上有了质的飞跃,人类的各种社会活动都与互联网这个虚拟世界相联系,使全样本、全过程地有效测量和记录成为可能,构建了生成大数据生态的土壤,同时,人们还在期待和憧憬物联网带来更大的冲击。
  另一方面,云计算发展到今天,不论从技术到产业都开始进入成熟期,这也是大数据发展的基石和推进器。
  在今天这个时代中,运用大数据洞见事物蕴藏的"智慧"成为人们的渴望。大数据更新了人们对数据的认识。在技术层面,小数据时代的很多数据处理方法和工具已不再有效,需要一系列新的方法和工具。所幸,有大量平民化的开源软件可用,它们不需要特殊的硬件系统,也更适用于云计算环境。
  本书正是一本介绍主流的大数据开源软件平台和工具的技术专著,侧重于大数据的实践性技术,帮助读者快速入门,通过具体深入的实践,体会大数据的技术本质特征,领略大数据技术带来的创新理念,更好地理解和把握信息技术的发展趋势。
  本书定位
  (1) 信息发展已步入大数据时代,当前对于大数据还缺乏面向公众的技术实践手册。
  (2) 本书的创作团队有丰富的大数据规划、开发、运营等经验,多位作者成功地架构了教育部、科技部、互联网等大数据架构与分析项目。
  (3) 本书的参与者均是部委信息一线工程师、著名外企架构师、国内企业资深高级工程师,所做的理论分析易于学习,实践具有可操作性。
  (4) 本书重点介绍大数据的基础理论、关键技术,以及编程实践。利用本书,就可以完全搭建并能有效地管理好大数据平台。
  本书特色
  (1) 理念先进:均是国内外最新的大数据理念;方便读者全面了解国内外大数据研究与发展的情况。
  (2) 技术领先:参与者均是国内IT人士;采用的平台均是业界主流开源平台,涉及大数据常用的HDFS、MapReduce、YARN、Zookeeper、HBase、Hive、Sqoop、Storm、Kafka等技术的介绍与编程使用。
  (3) 案例丰富:提供翔实的实例与解决方法,供项目中参考。
  (4) 资源齐备:本书涉及的配套下载资源可以从清华大学出版社的网站中下载。
  全书关键字
  大数据、分布式计算、数据仓库、数据分析、HDFS、MapReduce、YARN、Zookeeper、HBase、Hive、Sqoop、Storm、Kafka。
  由于编者的水平有限,书中难免有疏漏和错误,希望业内专家和广大读者指正。
  编 者