大数据技术与应用基础
作者: 陈志德
出版社:人民邮电出版社 2017年01月
简介:
本书在介绍大数据发展背景、特点及主要技术层面的基础上,对大数据的数据采集、数据存储、常见计算模式和典型系统工具进行了分析介绍。本书同时对各种典型系统工具进行了讲解,包括大数据查询分析计算及典型工具(HBase、Hive)、批处理计算及典型工具(MapReduce、Spark)、流式计算及典型工具(Storm、Apex、Flink)、事件流及典型工具(Druid)等。本书提供了大量的实例和源代码供读者参考,指导读者快速、无障碍地了解和掌握常见大数据分析工具的使用。本书适合作为计算机及相关专业的教学用书,也可以作为大数据初学者的自学教材和参考手册。
【目录】
第1章 大数据概述 1
1.1 大数据的发展 1
1.2 大数据的概念及特征 2
1.2.1 大数据的概念 2
1.2.2 大数据的特征 2
1.3 大数据的产生及数据类型 3
1.3.1 大数据的产生 3
1.3.2 数据类型 3
1.4 大数据计算模式和系统 4
1.5 大数据的主要技术层面和技术内容 4
1.6 大数据的典型应用 6
1.7 本章小结 7
第2章 数据获取 8
2.1 Scrapy环境搭建 8
2.2 爬虫项目创建 8
2.3 采集目标数据项定义 10
2.4 爬虫核心实现 11
2.5 数据存储 15
2.6 爬虫运行 17
2.7 本章小结 18
第3章 Hadoop基础 19
3.1 Hadoop概述 19
3.2 Hadoop原理 20
3.2.1 Hadoop HDFS原理 20
3.2.2 Hadoop MapReduce原理 21
3.2.3 Hadoop YARN原理 22
3.3 Hadoop的安装与配置 24
3.4 Hadoop生态系统简介 46
3.5 本章小结 47
第4章 HDFS基本应用 48
4.1 实战命令行接口 48
4.2 实战Java接口 52
4.3 数据流 60
4.3.1 数据流简介 60
4.3.2 数据流读取 61
4.3.3 数据流写入 62
4.4 本章小结 64
第5章 MapReduce应用开发 65
5.1 配置Hadoop MapReduce开发环境 65
5.1.1 系统环境及所需文件 65
5.1.2 安装Eclipse 65
5.1.3 向Eclipse中添加插件 66
5.2 编写和运行第一个MapReduce程序前的准备 69
5.2.1 系统环境及所需要的文件 69
5.2.2 建立运行MapReduce程序的依赖环境 69
5.2.3 建立编写MapReduce程序的依赖包 70
5.3 MapReduce应用案例 78
5.3.1 单词计数 78
5.3.2 数据去重 82
5.3.3 排序 85
5.3.4 单表关联 89
5.3.5 多表关联 95
5.4 本章小结 102
第6章 分布式数据库HBase 103
6.1 HBase简介 103
6.2 HBase接口 103
6.3 安装HBase集群 104
6.3.1 系统环境 104
6.3.2 安装ZooKeeper 104
6.3.3 安装HBase 106
6.4 HBase Shell 108
6.5 HBase API 110
6.6 HBase综合实例 113
6.7 本章小结 118
第7章 数据仓库工具Hive 119
7.1 Hive简介 119
7.2 Hive接口实战 119
7.3 Hive复杂语句实战 124
7.4 Hive综合实例 127
7.4.1 准备数据 127
7.4.2 在Hive上创建数据库和表 128
7.4.3 导入数据 129
7.4.4 算法分析与执行HQL语句 130
7.4.5 运行结果分析 131
7.5 本章小结 132
第8章 开源集群计算环境Spark 133
8.1 Spark简介 133
8.2 Spark接口实战 133
8.2.1 环境要求 133
8.2.2 IDEA使用和打包 134
8.3 Spark编程的RDD 137
8.3.1 RDD 137
8.3.2 创建RDD 138
8.3.3 RDD中与Map和Reduce相关的API 138
8.4 Spark实战案例——统计1000万人口的平均年龄 141
8.4.1 案例描述 141
8.4.2 案例分析 143
8.4.3 编程实现 143
8.4.4 提交到集群运行 144
8.4.5 监控执行状态 144
8.5 Spark MLlib实战——聚类实战 145
8.5.1 算法说明 145
8.5.2 实例介绍 145
8.5.3 测试数据说明 146
8.5.4 程序源码 146
8.5.5 运行脚本 148
8.6 本章小结 150
第9章 流实时处理系统Storm 152
9.1 Storm概述 152
9.1.1 Storm简介 152
9.1.2 Storm主要特点 152
9.2 Storm安装与配置 153
9.3 本章小结 160
第10章 企业级、大数据流处理 Apex 161
10.1 Apache Apex简介 161
10.2 Apache Apex开发环境配置 161
10.2.1 部署开发工具 161
10.2.2 安装Apex组件 162
10.2.3 创建Top N Words应用 164
10.3 运行TopN Words应用 166
10.3.1 开启Apex客户端 166
10.3.2 执行 166
10.4 本章小结 167
第11章 事件流OLAP之Druid 168
11.1 Druid简介 168
11.2 Druid应用场所 168
11.3 Druid集群 169
11.4 Druid单机环境 170
11.4.1 安装Druid 170
11.4.2 安装ZooKeeper 170
11.4.3 启动Druid服务 171
11.4.4 批量加载数据 172
11.4.5 加载流数据 175
11.4.6 数据查询 177
11.5 本章小结 180
第12章 事件数据流引擎Flink 181
12.1 Flink概述 181
12.2 Flink基本架构 181
12.3 单机安装Flink 182
12.4 Flink运行第一个例子 184
12.5 Flink集群部署 187
12.5.1 环境准备 187
12.5.2 安装和配置 187
12.5.3 启动Flink集群 188
12.5.4 集群中添加JobManager/TaskManager 189
12.6 本章小结 189
第13章 分布式文件搜索 Elasticsearch 190
13.1 Elasticsearch简介 190
13.2 Elasticsearch单节点安装 192
13.3 插件Elasticsearch-head安装 193
13.4 Elasticsearch的基本操作 195
13.5 综合实战 199
13.6 本章小结 202
第14章 实例电商数据分析 203
14.1 背景与挖掘目标 203
14.2 分析方法与过程 203
14.2.1 数据收集 203
14.2.2 数据预处理 206
14.2.3 导入数据到Hadoop 206
14.2.4 数据取样分析 209
14.3 本章小结 211
参考文献 212