第1章 云计算与大数据概述 1
1.1 云计算和大数据的概念 2
1.1.1 云计算概述 2
1.1.2 云计算的特点和优势 3
1.1.3 大数据概述 7
1.1.4 大数据的特点与作用 9
1.2 云计算与大数据发展现状 11
1.2.1 国外云计算发展现状 11
1.2.2 我国云计算发展现状 13
1.2.3 国外大数据发展现状 16
1.2.4 我国大数据发展现状 17
1.3 云计算的分类 18
1.3.1 私有云、公有云和混合云 18
1.3.2 IaaS、 PaaS、 SaaS、 DaaS 19
1.4 主流云计算和大数据供应商 21
1.4.1 Amazon云计算 21
1.4.2 IBM云计算 21
1.4.3 Google云计算 22
1.4.4 微软云计算 22
1.4.5 阿里巴巴云服务 22
1.4.6 百度开放云 23
1.4.7 腾讯云平台 24
1.5 云计算与大数据的关系 26
本章小结 27
本章练习 28
第2章 云计算技术 29
2.1 虚拟化技术 30
2.1.1 虚拟化技术发展史 30
2.1.2 虚拟化技术的概念 31
2.1.3 虚拟化的技术实现 32
2.1.4 虚拟化的应用领域 35
2.2 分布式技术 42
2.2.1 分布式文件系统 43
2.2.2 分布式数据库系统 46
2.2.3 分布式计算 47
本章小结 47
本章练习 48
第3章 云计算平台 49
3.1 Google云平台 50
3.1.1 Google云计算平台体系结构 50
3.1.2 Google云计算平台核心技术 51
3.1.3 Google App Engine 55
3.2 Amazon云平台 56
3.2.1 存储架构Dynamo 57
3.2.2 弹性计算云(EC2) 57
3.2.3 简单存储服务(S3) 59
3.2.4 简单队列服务(SQS) 60
3.2.5 其他AWS(Amazon Web Services) 61
3.3 微软Windows Azure平台 62
3.3.1 平台定位 62
3.3.2 计算服务 63
3.3.3 数据存储服务 64
3.3.4 其他服务 65
3.4 阿里云服务平台 65
3.4.1 计算服务 65
3.4.2 数据存储服务 66
3.4.3 数据分析服务 66
3.4.4 其他服务 67
3.5 百度开发者云服务 67
3.5.1 计算服务 67
3.5.2 数据存储服务 68
3.5.3 数据分析服务 68
3.5.4 其他服务 68
3.6 腾讯云服务平台 69
3.6.1 计算服务 69
3.6.2 数据存储服务 70
3.6.3 数据分析服务 70
3.6.4 其他服务 71
本章小结 71
本章练习 72
第4章 大数据技术 73
4.1 大数据应用系统架构 74
4.1.1 大数据应用系统架构原则 74
4.1.2 Apache大数据应用系统架构模型 74
4.1.3 企业大数据应用系统架构模型 77
4.2 大数据关键技术 79
4.2.1 数据收集技术 79
4.2.2 数据预处理技术 79
4.2.3 数据存储技术 79
4.2.4 数据处理技术 81
4.2.5 数据挖掘技术 82
4.2.6 数据分析与数据可视化技术 90
4.2.7 大数据安全 95
4.3 主流大数据服务 98
4.3.1 Google的技术与产品研发 98
4.3.2 微软的HDInsight 99
4.3.3 IBM的InfoSphere 99
4.4 开源大数据平台 99
4.4.1 Hadoop系统架构 100
4.4.2 Storm流计算系统 100
4.4.3 Spark迭代计算框架 101
4.4.4 其他产品 101
本章小结 101
本章练习 102
第5章 Hadoop开发平台 103
5.1 Hadoop的发展史 104
5.2 Hadoop的功能与作用 105
5.3 Hadoop的基本组成 107
5.3.1 HDFS(Hadoop分布式文件系统) 107
5.3.2 MapReduce(分布式计算框架) 117
5.3.3 YARN(集群资源管理器) 117
5.3.4 ZooKeeper(分布式协作服务) 120
5.3.5 HBase(分布式NoSQL数据库) 122
5.3.6 Hive(数据库管理工具) 122
5.3.7 Pig(高层次抽象脚本语言) 122
5.3.8 Avro 123
5.3.9 Sqoop 123
本章小结 123
本章练习 124
第6章 MapReduce应用 125
6.1 分布式并行编程:编程方式的变革 126
6.2 MapReduce模型概述 126
6.3 工作组件 127
6.4 MapReduce工作流程 129
6.4.1 工作流程概述 129
6.4.2 MapReduce各个执行阶段 130
6.4.3 Shuffle过程详解 134
6.5 并行计算的实现 138
6.5.1 数据分布存储 138
6.5.2 分布式并行计算 138
6.5.3 本地计算 139
6.5.4 任务粒度 140
6.5.5 Partition 140
6.5.6 Combine 140
6.5.7 Reduce任务 140
6.6 实例分析:WordCount 140
6.6.1 设计思路 141
6.6.2 程序源代码 142
6.6.3 程序解读 144
6.6.4 使用Hadoop运行程序 147
6.7 MapReduce新框架YARN 149
6.7.1 原Hadoop MapReduce框架的问题 149
6.7.2 Hadoop YARN框架的原理及运作机制 151
6.7.3 新旧Hadoop MapReduce框架对比 152
本章小结 153
本章练习 154
第7章 Pig简介 155
7.1 Pig概述 156
7.2 Pig的用途 156
7.3 Pig的设计思想 156
7.4 Pig的运行模式 157
7.5 Pig Latin 159
7.5.1 基础知识 159
7.5.2 读写和检测操作符 160
7.5.3 数据类型和schema 162
7.5.4 表达式和函数 163
7.5.5 关系型运算符 165
7.5.6 执行优化 170
7.5.7 用户定义函数 171
7.6 Pig脚本 174
7.6.1 注释 174
7.6.2 参数替换 174
本章小结 175
本章练习 176
第8章 HBase简介 177
8.1 HBase的概念和作用 178
8.2 HBase使用场景和成功案例 178
8.2.1 互联网搜索功能 179
8.2.2 抓取增量数据 180
8.2.3 内容服务 181
8.2.4 信息交换 182
8.3 HBase和传统关系型数据库的对比分析 183
8.4 HBase数据模型 184
8.4.1 数据模型的相关概念 184
8.4.2 概念视图 185
8.4.3 物理视图 186
8.4.4 物理存储 186
8.5 HBase组成架构 187
8.5.1 HRegion 189
8.5.2 HMaster 189
8.5.3 ZooKeeper 190
8.6 HBase的安装和运行 190
8.6.1 安装HBase 190
8.6.2 运行HBase 193
8.6.3 HBase Shell 194
8.7 HBase的访问接口 197
8.7.1 HBase Java API介绍 197
8.7.2 HBase Java API程序示例 202
本章小结 211
本章练习 212
第9章 云计算与大数据安全 213
9.1 云计算安全 214
9.1.1 云计算面临的安全威胁 214
9.1.2 云计算安全相关解决方案 216
9.2 大数据安全 217
9.2.1 大数据面临的安全问题 218
9.2.2 不同领域的大数据安全需求 218
9.2.3 大数据安全问题解决方案 220
本章小结 221
本章练习 221