第Ⅰ部分 大数据的含义 3
第1章 行业需求与解决方案 3
1.1 何谓“大”数据 3
1.2 Hadoop简史 4
1.2.1 Google 4
1.2.2 Nutch 5
1.3 Hadoop的概念 5
1.3.1 衍生品和分发版 6
1.3.2 Hadoop分发版 7
1.3.3 Hadoop生态系统的核心 8
1.3.4 Hadoop中的重要Apache项目 10
1.3.5 Hadoop的未来 14
1.4 本章小结 14
第2章 Microsoft大数据解决方法 15
2.1 “优质组合”的故事 15
2.2 生态系统中的竞争 16
2.2.1 SQL on Hadoop现状 16
2.2.2 Hortonworks和Stinger 16
2.2.3 Cloudera和Impala 18
2.2.4 Microsoft对Hadoop中SQL应用的贡献 20
2.3 Hadoop的部署 20
2.3.1 部署要素 20
2.3.2 部署拓扑结构 23
2.3.3 部署计分卡 26
2.4 本章小结 28
第Ⅱ部分 使用Microsoft建立大数据 31
第3章 配置首个大数据环境 31
3.1 入门 31
3.2 开始安装 32
3.3 安装过程 32
3.3.1 本地安装:单节点安装 32
3.3.2 HDInsight服务:云端安装 40
3.3.3 Windows Azure存储管理器选项 41
3.4 验证新集群 43
3.4.1 登录HDInsight服务 43
3.4.2 通过日志验证HDP功能 44
3.5 常见的安装后任务 45
3.5.1 加载首个文件 45
3.5.2 验证Hive和Pig 46
3.6 本章小结 50
第Ⅲ部分 存储并管理大数据 53
第4章 HDFS、Hive、HBase和HCatalog 53
4.1 探讨HDFS 53
4.1.1 HDFS体系结构阐述 54
4.1.2 与HDFS交互 57
4.2 探讨Hive:Hadoop数据仓库平台 59
4.2.1 设计、构建和加载表 60
4.2.2 查询数据 61
4.2.3 配置Hive ODBC驱动程序 61
4.3 探讨HCatalog:HDFS表和元数据管理 62
4.4 探索HBase:面向列的HDFS数据库 63
4.4.1 面向列的数据库 63
4.4.2 定义和填充HBase表 65
4.4.3 使用查询操作 66
4.5 本章小结 66
第5章 HDFS的数据存储与管理 67
5.1 了解HDFS基本原理 67
5.1.1 HDFS体系结构 68
5.1.2 名称节点和数据节点 69
5.1.3 数据复制 71
5.2 使用常用命令与HDFS进行交互 72
5.2.1 使用HDFS的界面 72
5.2.2 文件处理命令 74
5.2.3 HDFS的管理功能 76
5.3 在HDFS中移动和组织数据 78
5.3.1 在HDFS中移动数据 78
5.3.2 实现便于管理的数据结构 79
5.3.3 重新平衡数据 79
5.4 本章小结 80
第6章 添加Hive结构 81
6.1 理解Hive的作用和角色 82
6.1.1 为非结构化数据提供结构 82
6.1.2 启用数据访问与转换 88
6.1.3 鉴别Hive与传统RDBMS系统 88
6.1.4 使用Hive 89
6.2 创建和查询基本表 90
6.2.1 创建数据库 90
6.2.2 创建表 91
6.2.3 添加和删除数据 94
6.2.4 查询表 95
6.3 使用Hive的高级数据结构 97
6.3.1 设置分区表 97
6.3.2 加载分区表 99
6.3.3 使用视图 100
6.3.4 创建表索引 100
6.4 本章小结 101
第7章 使用HBase和HCatalog来扩展功能 103
7.1 使用HBase 104
7.1.1 创建HBase表 104
7.1.2 将数据加载到HBase表 106
7.1.3 执行快速查找 107
7.1.4 加载和查询HBase 108
7.2 使用HCatalog管理数据 109
7.2.1 使用HCatalog和Hive 109
7.2.2 定义数据结构 110
7.2.3 建立索引 111
7.3 创建分区 111
7.4 HCatalog与Pig和Hive的集成 113
7.5 使用HBase或Hive作为数据仓库 116
7.6 本章小结 117
第Ⅳ部分 使用大数据 121
第8章 使用SSIS、Pig和Sqoop进行有效的大数据ETL 121
8.1 结合大数据与SQL Server工具获取更优解决方案 122
8.1.1 为何要移动数据 122
8.1.2 在Hadoop和SQL Server之间移动数据 123
8.2 使用SSIS和Hive 123
8.3 配置包 128
8.3.1 将数据加载到Hadoop 131
8.3.2 从SSIS获得最佳性能 132
8.4 使用Sqoop转移数据 132
8.4.1 从SQLServer复制数据 133
8.4.2 将数据复制到SQL Server 135
8.5 使用Pig移动数据 135
8.5.1 使用Pig转换数据 136
8.5.2 同时使用Pig和SSIS 138
8.6 选择正确的工具 139
8.6.1 何时使用SSIS 139
8.6.2 何时使用Pig 139
8.6.3 何时使用Sqoop 139
8.7 本章小结 140
第9章 使用Pig和Hive进行数据研究和高级数据清理 141
9.1 了解Pig 141
9.1.1 使用Pig的时机 142
9.1.2 利用内置函数 142
9.1.3 执行用户自定义函数 143
9.1.4 使用UDF 144
9.1.5 为Pig创建专属UDF 151
9.2 使用Hive 153
9.2.1 使用Hive进行数据分析 153
9.2.2 Hive函数类型 154
9.2.3 使用map-reduce脚本扩展Hive 155
9.2.4 创建自定义map-reduce脚本 158
9.2.5 为Hive创建专属UFD 159
9.3 本章小结 161
第Ⅴ部分 大数据与SQL Server的整合 165
第10章 数据仓库与Hadoop整合 165
10.1 行业状况 166
10.2 传统数据仓库架构面临的挑战 166
10.2.1 技术制约 167
10.2.2 业务挑战 171
10.3 Hadoop在数据仓库市场上的影响 173
10.3.1 保持一切 173
10.3.2 代码优先(模式延后) 174
10.3.3 塑造价值 175
10.3.4 计算问题 176
10.4 介绍并行数据仓库 176
10.4.1 何谓PDW 177
10.4.2 PDW为什么重要 178
10.4.3 PDW的工作方式 180
10.5 Polybase项目 188
10.5.1 Polybase架构 188
10.5.2 当今Polybase的商业案例 199
10.5.3 预测Polybase的未来 201
10.6 本章小结 204
第11章 使用Windows BI呈现大数据 205
11.1 工具生态系统 205
11.1.1 Excel 206
11.1.2 PowerPivot 206
11.1.3 Power View 207
11.1.4 Power Map 207
11.1.5 报表服务 208
11.2 使用PowerPivot的自助式大数据 210
11.2.1 设置ODBC驱动程序 210
11.2.2 加载数据 211
11.2.3 更新模型 217
11.2.4 添加度量标准 218
11.2.5 创建数据透视表 218
11.3 使用Power View加速大数据探索 220
11.4 使用Power Map的快速空间探索 224
11.5 本章小结 225
第12章 大数据分析 227
12.1 数据科学、数据挖掘与预测分析 227
12.1.1 数据挖掘 227
12.1.2 预测分析 228
12.2 Mahout介绍 229
12.3 构建一个推荐引擎 230
12.3.1 开始 231
12.3.2 运行用户到用户推荐作业 232
12.3.3 运行项目到项目推荐作业 234
12.4 本章小结 235
第13章 大数据与云 237
13.1 定义云 237
13.2 探索大数据云提供商 238
13.2.1 Amazon 238
13.2.2 Microsoft 239
13.3 在云端设置大数据沙盒 239
13.3.1 开始使用Amazon EMR 240
13.3.2 开始使用HDInsight 244
13.4 在云端存储数据 251
13.4.1 存储数据 251
13.4.2 上传数据 252
13.4.3 探索大数据存储工具 252
13.4.4 整合云端数据 254
13.4.5 其他云端数据源 255
13.5 本章小结 255
第14章 现实生活中的大数据 257
14.1 常见行业分析 257
14.1.1 电信 257
14.1.2 能源 258
14.1.3 零售 258
14.1.4 数据服务 259
14.1.5 IT/托管优化 259
14.1.6 市场社会情绪 260
14.2 运营分析 260
14.2.1 快速失败 260
14.2.2 一个新的技术生态系统 260
14.2.3 用户受众 262
14.3 本章小结 264
第Ⅵ部分 继续向前发展大数据 267
第15章 创建和执行大数据计划 267
15.1 获得赞助方和利益相关方的认同 267
15.1.1 问题定义 268
15.1.2 范围管理 269
15.1.3 利益相关方的期望 270
15.1.4 定义成功的标准 270
15.2 确定技术上的挑战 271
15.2.1 环境的挑战 271
15.2.2 技能的挑战 272
15.3 确定运营上的挑战 273
15.3.1 制定设置/配置计划 273
15.3.2 制定运行维护计划 274
15.4 更进一步 275
15.4.1 交付到运营 276
15.4.2 部署之后 276
15.5 本章小结 276
第16章 运营的大数据管理 279
16.1 混合型大数据环境:云端与本地解决方案协同工作 279
16.2 使用云计算和本地解决方案的动态数据集成 280
16.3 大数据的集成思想 281
16.4 大数据环境中的备份和高可用性 283
16.4.1 高可用件 283
16.4.2 灾难恢复 285
16.5 大数据解决方案的管理 286
16.6 创建运营分析 286
16.6.1 HDP系统中心运营管理器 287
16.6.2 安装Ambari SCOM管理软件包 288
16.6.3 使用Ambari SCOM管理软件包进行监控 296
16.7 本章小结 300