基本信息
- 商品名:大数据技术入门(第□版):串讲大数据常用技术,架构大数据思维模式
- ISBN:9787302547969
- 定价:79
- 出版社:清华大学出版社
- 作者:杨正洪
参考信息(以实物为准)
- 出版时间:2020-02-01
- 印刷时间:2020-01-01
- 版次:2
- 印次:1
- 包装:平装
- 开本:16开
- 用纸:胶版纸
- 页数:387
- 字数:640000
内容简介
目前国内大数据市场继续保持高速的发展态势,作者在与地方政府、证券金融公司的项目合作中发现,他们对大数据技术很感兴趣,并希望从大数据技术、采集、存储、访问、安全、分析与开发等方面得到指导和帮助。因此编写了这本大数据技术的入门书。
本书共1□章,以Hadoop和Spark框架为线索,比较全面地介绍了Hadoop技术、Spark技术、大数据存储、大数据访问、大数据采集、大数据管理、大数据分析、大数据开发、大数据环境自动化部署(Docker和K8s)等内容。
本书适合大数据技术初学者,政府、金融机构的大数据应用决策和技术人员、IT经理、CTO、CIO等快速学□□数据技术。本书也可以作为高等院校和培训学校相关专业的培训教材。
前言序言
前 言
随着本书□□版的出版之后,Hadoop生态圈和大数据领域发生了很大的变化。在本书中,我们包含了□新的信息:
(1)公有云和大数据的关系:我们曾经认为,云软件本身需要消耗资源,增加管理的复杂度,而大数据需要大量的机器,所以,大数据的搭建可以直接在物理机上进行,而不是基于云。在□近3年的工作中,我深刻认识到,大型公有云的弹性分配的能力,是大数据所需要的。我们往往无法估计所需要的资源数量,而大型公有云的弹性能力给了我们这个自动扩展的能力。这无论对创业企业还是大型企业,都是很有必要的。我们有一个企业客户,从3年前每月支付300美元来使用我们的大数据平台到现在每月支付100万美元来使用,这个客户的数据量每年迅猛增长,即使是神仙,也估计不出来资源的这种需求趋势。大型公有云就解决了这个问题。所以,在本书中,我们以AWS为例让读者深刻理解如何在大型公有云上做大数据。对于大数据的开发人员而言,你就不仅仅是一位开发人员那么简单了,而是一个DevOps人员,也就是即:你既必须要懂公有云,又要在云端运维你自己搭建和开发的大数据平台与和大数据分析产品。
(□)YARN □.9□。要想在生产环境中用好Hadoop,必须构建好Hadoop集群。要想构建好Hadoop集群,必须完全弄懂YARN。所以,YARN非常重要。本书基于实际案例来深入讲解YARN的原理、部署和配置,并讲解如何实现多租户模式。越来越多的企业基于云构建大数据系统,而这个大数据系统又要给企业内的多个部门或多个企业客户来使用,怎么使用YARN在一个大的Hadoop集群上实现多租户是一个很现实很迫切的问题。
(3)Hive 3.0。目前市场上比较流行的Hive书籍都是基于Hive老版本,查询语言都是HiveQL。从3.0开始,Hive向其他查询工具靠拢,全面支持ANSI SQL的查询;Hive MetaStore越来越重要,围绕MetaStore出来一些新工具新产品,比如:Ranger,它用于解决Hadoop生态圈中数据安全性的问题;另外还有,从Hive □.0开始,就不再推荐使用MapReduce计算框架,从前花费大幅章节解释Hive如何把查询计划转换为Map和Reduce任务已经不再适用,从3.0开始,MapReduce框架需要被弃用(deprecated),被Spark或Tez计算框架所替代。
(4)大数据的开发管理体系。大数据开发往往基于开源软件,这就必须充分理解和使用GitHub、JIRA、CI/CD等开源生态圈中频繁使用的工具和思想。你每天打开Eclipse,按照需求文档编写代码的模式已经不适用于大数据开发了。在实际工作中,开发人员往往是从GitHub上获取源代码,添加自己的代码,推送到GitHub上。产品经理或者开发经理往往使用JIRA创建一个个的开发任务,分配各个任务给每个开发人员,每个开发人员在JIRA上发布开发的状态,询问问题(团队协作),完成整个开发的操作。在笔者所在我的开发团队中,尤其是新加入的同事,对这些工具比较陌生,这极大地影响了工作的效率和团队的协作。在本书新版时,笔者我特地加入这些内容,让大数据开发的管理变得容易一些,标准化一些。
(5)大数据安全管控。欧盟通过了《欧盟数据隐私指令》,我国已将大数据视作战略资源并上升为国家战略,大数据安全成为国家安全的新重点。在本书新版中,新增一章来讲解如何从技术上确保整个大数据安全可控。
在这一版中,我们删除了一些内容,比如:Spark中的GraphX图计算框架、Spark MLlib、环保行业和公安行业的大数据案例分析等。删除的原因是Spark的GraphX和MLlib在实际工作中使用不频繁,两个行业的大数据案例与大数据技术的相关性小,而更多在于行业需求的认知上。
本书内容组织
除了阐述大数据的定义和软件框架,除了新增的大数据集群和大数据安全管控的内容之外,同上一个版本类似,本书主要是按照大数据处理的几个步骤来组织内容:
(1)大数据存储:探究HDFS和HBase作为大数据存储方式的优劣,新加了云存储和云数据库作为大数据存储的选项;
(□)大数据访问:探究SQL引擎层中Hive、Phoenix、Spark SQL等组件的功能,并阐述了全文搜索的ElasticSearch,也探究了Spark的高速访问能力;
(3)大数据的采集:探究了Flume、Kafka、Sqoop等技术,也探究了如何使用Storm和Spark Streaming来对数据进行流式计算,来满足部分业务的实时和准实时计算需求。新加了Embulk、Fluentd、AWS Kinesis等内容;
(4)大数据管理:探究数据模型、安全控制、数据生命周期等数据管理内容;
(5)大数据分析:探究了如何利用分布式计算集群来对存储于其内的海量数据进行统计分析,重点探究了机器学习和算法。
作者与技术支持邮箱
本书作者杨正洪,毕业于美国State University of New York at Stony Brook,在美国硅谷从事AI和大数据相关研发工作 10 多年,华中科技大学和中国地质大学客座教授,湖北省 □013 年海外引进人才,拥有多项国家专利。参与了大数据和人工智能的国家标准的制定,在 □016 年参与了公安部主导的“信息安全技术:大数据平台安全管理产品安全技术要求”的国家标准制定。作者还是中关村海外智库专家顾问和住建部中规院专家顾问,担任了在美上市公司 CTO、北京某国企 CIO 和上海某国企高级副总裁等职。多年从事人工智能与大数据技术的工作,出版了《智慧城市》等多本书籍。由于我们水平有限,书中难免存在纰漏之处,敬请读者批评指正。杨正洪的邮件地址为yangzhenghong@yahoo.com。
杨正洪
□0□0年1月于San Jose
目录
目 录
□□章 大数据时代 1
1.1 什么是大数据 1
1.1.1 四大特征 □
1.1.□ 数据监管(Data Governance) 3
1.1.3 数据质量 4
1.1.4 大数据分析 4
1.1.5 大数据平台架构 5
1.□ 大数据与云计算的关系 6
1.□.1 云计算产品概述 6
1.□.□ 虚拟服务器 7
1.□.3 云存储 11
1.3 Hadoop和云平台的应用实例 1□
1.3.1 云平台层面配置 1□
1.3.□ 大数据平台层面配置 14
1.4 数据湖(Data Lake) 16
1.5 企业如何走向大数据 17
1.5.1 业务价值维度 18
1.5.□ 数据维度 18
1.5.3 现有IT环境和成本维度 19
1.5.4 数据治理维度 □0
第□章 大数据软件框架 □1
□.1 Hadoop框架 □1
□.1.1 HDFS(分布式文件系统) □□
□.1.□ MapReduce(分布式计算框架) □3
□.1.3 YARN(集群资源管理器) □8
□.□ Spark(内存计算框架) 30
□.□.1 Spark SQL 31
□.□.□ Spark Streaming 3□
□.3 实时流处理框架 34
□.4 云端消息队列 34
□.5 框架的选择 35
□.6 Hadoop发行版 36
□.7 Mac上安装Hadoop 37
□.7.1 在Mac上安装Hadoop 37
□.7.□ 安装MySQL和Hive 41
□.8 Linux上安装Hadoop 44
□.8.1 配置Java环境 45
□.8.□ 安装ntp和Python 47
□.8.3 安装和配置openssl 47
□.8.4 配置SSH无密码访问 47
□.8.5 安装Ambari和HDP 48
□.8.6 启动和停止服务 5□
□.9 AWS云平台上安装Hadoop 54
第3章 大数据集群 57
3.1 集群实例分析 57
3.□ YARN 67
3.□.1 架构组成 68
3.□.□ YARN执行流程 71
3.3 资源的调度器 75
3.3.1 Capacity Scheduler 76
3.3.□ Fair Scheduler 78
3.3.3 资源调度实例分析 81
3.3.4 内存和CPU资源调度 84
3.4 深入研究Resource Manager 88
3.5 集群配置文件总览 91
3.5.1 yarn-site.xml 91
3.5.□ mapred-site.xml 94
3.6 自动伸缩(Auto Scaling)集群 97
3.7 迁移Hadoop集群 97
3.8 增加Instance 99
第4章 大数据存储:文件系统和云存储 100
4.1 HDFS shell命令 100
4.□ 配置HDFS 10□
4.□.1 配置文件 10□
4.□.□ 多节点配置 103
4.3 HDFS API编程 104
4.3.1 读取HDFS文件内容 105
4.3.□ 写HDFS文件内容 108
4.3.3 WebHDFS 108
4.4 HDFS API总结 110
4.4.1 Configuration类 110
4.4.□ FileSystem抽象类 111
4.4.3 Path类 111
4.4.4 FSDataInputStream类 111
4.4.5 FSDataOutputStream类 11□
4.4.6 IOUtils类 11□
4.4.7 FileStatus类 11□
4.4.8 FsShell类 11□
4.4.9 ChecksumFileSystem抽象类 11□
4.4.10 其他的HDFS API实例 113
4.4.11 综合实例 115
4.5 HDFS文件格式 118
4.5.1 SequenceFile 118
4.5.□ TextFile(文本格式) 118
4.5.3 RCFile 118
4.5.4 Avro 1□0
4.6 云存储S3 1□0
4.6.1 S3基本概念 1□1
4.6.□ S3管理控制台 1□□
4.6.3 S3 CLI 1□6
4.6.4 S3 SDK 1□7
4.6.5 分区 1□9
4.6.6 与EBS的比较 1□9
4.6.7 与Glacier的比较 1□9
第5章 大数据存储:数据库 130
5.1 NoSQL 130
5.□ HBase概述 131
5.□.1 HBase表结构 13□
5.□.□ HBase系统架构 135
5.□.3 启动并操作HBase数据库 136
5.□.4 HBase Shell工具 139
5.3 HBase编程 14□
5.3.1 增删改查API 14□
5.3.□ 过滤器 146
5.3.3 计数器 149
5.3.4 原子操作 149
5.3.5 管理API 149
5.4 其他NoSQL数据库 151
5.4.1 Cassandra 151
5.4.□ Impala 151
5.4.3 DynamoDB 151
5.4.4 Redshift 151
5.5 云数据库 15□
5.5.1 什么是RDS 15□
5.5.□ 创建云数据库 15□
5.5.3 查看云数据库信息 156
5.5.4 何时使用云端数据库 159
第6章 大数据访问:SQL引擎层 160
6.1 Phoenix 161
6.1.1 安装和配置Phoenix 161
6.1.□ 在Eclipse上开发Phoenix程序 165
6.1.3 Phoenix SQL工具 169
6.1.4 Phoenix SQL语法 170
6.□ Hive 171
6.□.1 Hive架构 17□
6.□.□ 安装Hive 173
6.□.3 Hive CLI 175
6.□.4 Hive数据类型 175
6.□.5 Hive文件格式 177
6.□.6 Hive表定义 179
6.□.7 Hive加载数据 183
6.□.8 Hive查询数据 184
6.□.9 Hive UDF 186
6.□.10 Hive视图 188
6.□.11 HiveServer□ 189
6.□.1□ hive-site.xml需要的配置 195
6.□.13 HBase集成 □00
6.□.14 XML和JSON数据 □00
6.□.15 使用TEZ □01
6.□.16 Hive MetaStore □03
6.□.17 综合示例 □04
6.3 Pig □06
6.3.1 Pig语法 □07
6.3.□ Pig和Hive的使用场景之比较 □10
6.4 ElasticSearch(全文搜索引擎) □11
6.4.1 全文索引的基础知识 □11
6.4.□ 安装和配置ElasticSearch □13
6.4.3 ElasticSearch API □15
6.5 Presto □17
第7章 大数据采集和导入 □18
7.1 Flume □□0
7.1.1 Flume架构 □□0
7.1.□ Flume事件 □□1
7.1.3 Flume源 □□1
7.1.4 Flume拦截器(Interceptor) □□□
7.1.5 Flume通道选择器(Channel Selector) □□3
7.1.6 Flume通道 □□4
7.1.7 Flume接收器 □□5
7.1.8 负载均衡和单点失败 □□6
7.1.9 Flume监控管理 □□7
7.1.10 Flume实例 □□7
7.□ Kafka □□9
7.□.1 Kafka架构 □□9
7.□.□ Kafka与JMS的异同 □30
7.□.3 Kafka性能考虑 □31
7.□.4 消息传送机制 □31
7.□.5 Kafka和Flume的比较 □3□
7.3 Sqoop □3□
7.3.1 从数据库导入HDFS □33
7.3.□ 增量导入 □35
7.3.3 将数据从Oracle导入Hive □35
7.3.4 将数据从Oracle导入HBase □35
7.3.5 导入所有表 □36
7.3.6 从HDFS导出数据 □36
7.3.7 数据验证 □37
7.3.8 其他Sqoop功能 □37
7.4 Storm □38
7.4.1 Storm基本概念 □38
7.4.□ Spout □40
7.4.3 Bolt □41
7.4.4 拓扑结构 □43
7.4.5 Storm总结 □44
7.5 Amazon Kinesis □45
7.6 其他工具 □46
7.6.1 Embulk □46
7.6.□ Fluentd □47
第8章 大数据安全管控 □50
8.1 数据主权和合规性 □50
8.□ 云端安全 □51
8.□.1 身份验证和访问权限 □51
8.□.□ 角色 □53
8.□.3 虚拟网络 □54
8.□.4 安全组 □55
8.3 云端监控 □56
8.3.1 跟踪和审计 □56
8.3.□ 监控 □57
8.3.3 基于Datadog的监控 □59
8.4 云端备份和恢复 □6□
8.5 大数据安全 □6□
8.5.1 Kerberos □63
8.5.□ Apache Ranger □63
8.5.3 应用端安全 □67
作者简介
杨正洪,毕业于美国State University of New York at Stony Brook,在美国硅谷从事AI和大数据相关研发工作 10 多年,华中科技大学和中国地质大学客座教授,湖北省 □013 年海外引进人才,拥有多项国家专利。参与了大数据和人工智能的国家标准的制定,在 □016 年参与了公安部主导的“信息安全技术:大数据平台安全管理产品安全技术要求”的国家标准制定。作者还是中关村海外智库专家顾问和住建部中规院专家顾问,担任了在美上市公司 CTO、北京某国企 CIO 和上海某国企高级副总裁等职。多年从事人工智能与大数据技术的工作,出版了《智慧城市》等多本书籍。