第1章 大数据技术概述 1
1.1 大数据时代 1
1.2 大数据关键技术 2
1.3 大数据软件 3
1.3.1 Hadoop 4
1.3.2 Spark 5
1.3.3 NoSQL数据库 5
1.3.4 数据可视化 6
1.4 内容安排 7
1.5 在线资源 8
1.5.1 在线资源一览表 9
1.5.2 下载专区 9
1.5.3 在线视频 10
1.5.4 拓展阅读 11
1.5.5 大数据课程公共服务平台 11
1.6 本章小结 12
第2章 Linux系统的安装和使用 13
2.1 Linux系统简介 13
2.2 Linux系统安装 13
2.2.1 下载安装文件 14
2.2.2 Linux系统的安装方式 14
2.2.3 安装Linux虚拟机 15
2.2.4 生成Linux虚拟机镜像文件 36
2.3 Linux系统及相关软件的基本使用方法 38
2.3.1 Shell 38
2.3.2 root用户 38
2.3.3 创建普通用户 38
2.3.4 sudo命令 39
2.3.5 常用的Linux系统命令 40
2.3.6 文件解压缩 40
2.3.7 常用的目录 41
2.3.8 目录的权限 41
2.3.9 更新APT 41
2.3.10 切换中英文输入法 43
2.3.11 vim编辑器的使用方法 43
2.3.12 在Windows系统中使用SSH方式登录Linux系统 44
2.3.13 在Linux中安装Eclipse 48
2.3.14 其他使用技巧 49
2.4 关于本书内容的一些约定 49
2.5 本章小结 50
第3章 Hadoop的安装和使用 51
3.1 Hadoop简介 51
3.2 安装Hadoop前的准备工作 52
3.2.1 创建hadoop用户 52
3.2.2 更新APT 52
3.2.3 安装SSH 52
3.2.4 安装Java环境 53
3.3 安装Hadoop 55
3.3.1 下载安装文件 55
3.3.2 单机模式配置 56
3.3.3 伪分布式模式配置 57
3.3.4 分布式模式配置 66
3.3.5 使用Docker搭建Hadoop分布式集群 75
3.4 本章小结 87
第4章 HDFS操作方法和基础编程 88
4.1 HDFS操作常用Shell命令 88
4.1.1 查看命令使用方法 88
4.1.2 HDFS目录操作 90
4.2 利用HDFS的Web管理界面 92
4.3 HDFS编程实践 92
4.3.1 在Eclipse中创建项目 93
4.3.2 为项目添加需要用到的JAR包 94
4.3.3 编写Java应用程序 96
4.3.4 编译运行程序 98
4.3.5 应用程序的部署 100
4.4 本章小结 102
第5章 HBase的安装和基础编程 103
5.1 安装HBase 103
5.1.1 下载安装文件 103
5.1.2 配置环境变量 104
5.1.3 添加用户权限 104
5.1.4 查看HBase版本信息 104
5.2 HBase的配置 105
5.2.1 单机模式配置 105
5.2.2 伪分布式配置 107
5.3 HBase常用Shell命令 109
5.3.1 在HBase中创建表 109
5.3.2 添加数据 110
5.3.3 查看数据 110
5.3.4 删除数据 111
5.3.5 删除表 112
5.3.6 查询历史数据 112
5.3.7 退出HBase数据库 112
5.4 HBase编程实践 113
5.4.1 在Eclipse中创建项目 113
5.4.2 为项目添加需要用到的JAR包 116
5.4.3 编写Java应用程序 117
5.4.4 编译运行程序 123
5.4.5 应用程序的部署 124
5.5 本章小结 124
第6章 典型NoSQL数据库的安装和使用 125
6.1 Redis安装和使用 125
6.1.1 Redis简介 125
6.1.2 安装Redis 125
6.1.3 Redis实例演示 127
6.2 MongoDB的安装和使用 128
6.2.1 MongDB简介 129
6.2.2 安装MongoDB 129
6.2.3 使用Shell命令操作MongoDB 130
6.2.4 Java API编程实例 136
6.3 本章小结 139
第7章 MapReduce基础编程 140
7.1 词频统计任务要求 140
7.2 MapReduce程序编写方法 141
7.2.1 编写Map处理逻辑 141
7.2.2 编写Reduce处理逻辑 141
7.2.3 编写main方法 142
7.2.4 完整的词频统计程序 143
7.3 编译打包程序 144
7.3.1 使用命令行编译打包词频统计程序 145
7.3.2 使用Eclipse编译运行词频统计程序 145
7.4 运行程序 154
7.5 本章小结 156
第8章 数据仓库Hive的安装和使用 157
8.1 Hive的安装 157
8.1.1 下载安装文件 157
8.1.2 配置环境变量 158
8.1.3 修改配置文件 158
8.1.4 安装并配置MySQL 159
8.2 Hive的数据类型 161
8.3 Hive基本操作 162
8.3.1 创建数据库、表、视图 162
8.3.2 删除数据库、表、视图 163
8.3.3 修改数据库、表、视图 164
8.3.4 查看数据库、表、视图 165
8.3.5 描述数据库、表、视图 165
8.3.6 向表中装载数据 166
8.3.7 查询表中数据 166
8.3.8 向表中插入数据或从表中导出数据 166
8.4 Hive应用实例:WordCount 167
8.5 Hive编程的优势 167
8.6 本章小结 168
第9章 Spark的安装和基础编程 169
9.1 基础环境 169
9.2 安装Spark 169
9.2.1 下载安装文件 169
9.2.2 配置相关文件 170
9.3 使用Spark Shell编写代码 171
9.3.1 启动Spark Shell 171
9.3.2 读取文件 172
9.3.3 编写词频统计程序 174
9.4 编写Spark独立应用程序 174
9.4.1 用Scala语言编写Spark独立应用程序 175
9.4.2 用Java语言编写Spark独立应用程序 178
9.5 本章小结 182
第10章 典型的可视化工具的使用方法 183
10.1 Easel.ly信息图制作方法 183
10.1.1 信息图 183
10.1.2 信息图制作基本步骤 183
10.2 D3可视化库的使用方法 186
10.2.1 D3可视化库的安装 187
10.2.2 基本操作 187
10.3 可视化工具Tableau使用方法 194
10.3.1 安装Tableau 195
10.3.2 界面功能介绍 195
10.3.3 Tableau简单操作 197
10.4 使用“魔镜”制作图表 202
10.4.1 “魔镜”简介 202
10.4.2 简单制作实例 202
10.5 使用ECharts图表制作 206
10.5.1 ECharts简介 206
10.5.2 ECharts图表制作方法 206
10.5.3 两个实例 210
10.6 本章小结 217
第11章 数据采集工具的安装和使用 218
11.1 Flume 218
11.1.1 安装Flume 218
11.1.2 两个实例 220
11.2 Kafka 225
11.2.1 Kafka相关概念 225
11.2.2 安装Kafka 225
11.2.3 一个实例 225
11.3 Sqoop 227
11.3.1 下载安装文件 227
11.3.2 修改配置文件 228
11.3.3 配置环境变量 228
11.3.4 添加MySQL驱动程序 228
11.3.5 测试与MySQL的连接 229
11.4 实例:编写Spark程序使用Kafka数据源 230
11.4.1 Kafka准备工作 230
11.4.2 Spark准备工作 232
11.4.3 编写Spark程序使用Kafka数据源 234
11.5 本章小结 239
第12章 大数据课程综合实验案例 241
12.1 案例简介 241
12.1.1 案例目的 241
12.1.2 适用对象 241
12.1.3 时间安排 241
12.1.4 预备知识 241
12.1.5 硬件要求 242
12.1.6 软件工具 242
12.1.7 数据集 242
12.1.8 案例任务 242
12.2 实验环境搭建 243
12.3 实验步骤概述 244
12.4 本地数据集上传到数据仓库Hive 245
12.4.1 实验数据集的下载 245
12.4.2 数据集的预处理 246
12.4.3 导入数据库 249
12.5 Hive数据分析 253
12.5.1 简单查询分析 253
12.5.2 查询条数统计分析 255
12.5.3 关键字条件查询分析 256
12.5.4 根据用户行为分析 258
12.5.5 用户实时查询分析 259
12.6 Hive、MySQL、HBase数据互导 260
12.6.1 Hive预操作 260
12.6.2 使用Sqoop将数据从Hive导入MySQL 261
12.6.3 使用Sqoop将数据从MySQL导入HBase 265
12.6.4 使用HBase Java API把数据从本地导入到HBase中 269
12.7 利用R进行数据可视化分析 275
12.7.1 安装R 275
12.7.2 安装依赖库 277
12.7.3 可视化分析 278
12.8 本章小结 283
第13章 实验 284
13.1 实验一:熟悉常用的Linux操作和Hadoop操作 284
13.1.1 实验目的 284
13.1.2 实验平台 284
13.1.3 实验步骤 284
13.1.4 实验报告 286
13.2 实验二:熟悉常用的HDFS操作 286
13.2.1 实验目的 286
13.2.2 实验平台 286
13.2.3 实验步骤 287
13.2.4 实验报告 287
13.3 实验三:熟悉常用的HBase操作 288
13.3.1 实验目的 288
13.3.2 实验平台 288
13.3.3 实验步骤 288
13.3.4 实验报告 290
13.4 实验四:NoSQL和关系数据库的操作比较 290
13.4.1 实验目的 290
13.4.2 实验平台 290
13.4.3 实验步骤 290
13.4.4 实验报告 293
13.5 实验五:MapReduce初级编程实践 294
13.5.1 实验目的 294
13.5.2 实验平台 294
13.5.3 实验步骤 294
13.5.4 实验报告 297
附录A 大数据课程实验答案 298
A.1 实验一:熟悉常用的Linux操作和Hadoop操作 298
A.1.1 实验目的 298
A.1.2 实验平台 298
A.1.3 实验步骤 298
A.2 实验二:熟悉常用的HDFS操作 303
A.2.1 实验目的 303
A.2.2 实验平台 303
A.2.3 实验步骤 303
A.3 实验三:熟悉常用的HBase操作 323
A.3.1 实验目的 323
A.3.2 实验平台 323
A.3.3 实验步骤 323
A.4 实验四:NoSQL和关系数据库的操作比较 331
A.4.1 实验目的 331
A.4.2 实验平台 331
A.4.3 实验步骤 332
A.5 实验五:MapReduce初级编程实践 349
A.5.1 实验目的 349
A.5.2 实验平台 349
A.5.3 实验步骤 350
附录B Linux系统中的MySQL安装及常用操作 360
B.1 安装MySQL 360
B.2 MySQL常用操作 363
参考文献 367