第1章 案例概述 1
1.1案例目的 1
1.2适用对象 1
1.3时间安排 2
1.4预备知识 2
1.5硬件要求 2
1.6软件工具 3
1.7数据集 3
1.8案例任务 3
1.9实验步骤 4
1.10在线资源 6
1.10.1在线资源一览表 6
1.10.2下载专区 7
1.10.3先修课程 8
1.10.4大数据课程公共服务平台 8
1.11本章小结 9
第2章 大数据实验环境搭建 10
2.1 Linux系统及相关软件使用方法 10
2.1.1 Shell 11
2.1.2 root用户 11
2.1.3创建普通用户 11
2.1.4 sudo命令 12
2.1.5常用的Linux系统命令 12
2.1.6文件解压缩 13
2.1.7常用的目录 13
2.1.8目录的权限 14
2.1.9更新APT 14
2.1.10切换中英文输入法 15
2.1.11 vim编辑器的安装和使用方法 16
2.2 JDK的安装 16
2.3 Scala的安装 17
2.4 Hadoop的安装和基本使用方法 18
2.4.1安装Hadoop前的准备工作 18
2.4.2安装Hadoop 20
2.4.3 HDFS操作常用Shell命令 23
2.5 Spark的安装和基本使用方法 25
2.5.1下载安装文件 25
2.5.2配置相关文件 26
2.5.3 Spark和Hadoop的交互 26
2.5.4在spark-shell中运行代码 27
2.6 MySQL数据库的安装和基本使用方法 29
2.6.1安装MySQL 29
2.6.2 MySQL常用操作 32
2.7本章小结 34
第3章 IntelliJ IDEA开发工具的安装和使用方法 35
3.1下载和安装IDEA 35
3.2下载Scala插件安装包 35
3.3启动IDEA 36
3.4为IDEA安装Scala插件 39
3.5配置项目的JDK 42
3.6使用IDEA开发WordCount程序 44
3.6.1创建一个新项目WordCount 45
3.6.2为WordCount项目添加Scala框架支持 47
3.6.3设置项目目录 50
3.6.4新建Scala代码文件 52
3.6.5配置pom.xml文件 53
3.6.6更新Maven的依赖文件 55
3.6.7运行WordCount程序 56
3.6.8打包WordCount程序生成JAR包 57
3.6.9把JAR包提交到Spark中运行 61
3.7本章小结 61
第4章 ETL工具Kettle的安装和使用方法 62
4.1安装Kettle 62
4.1.1下载安装包 62
4.1.2解压文件到安装目录 62
4.1.3复制MySQL数据库驱动程序JAR包 63
4.1.4启动Kettle中的Spoon 63
4.1.5设置中文界面 65
4.2使用Kettle把数据加载到HDFS中 65
4.2.1配置Kettle 66
4.2.2新建作业 66
4.2.3添加START组件 67
4.2.4添加“Hadoop Copy Files”控件 68
4.2.5设置“Hadoop Copy Files”控件的属性 68
4.2.6执行作业并查看运行结果 69
4.2.7到HDFS中查看数据 70
4.3本章小结 70
第5章 使用Spark SQL读写MySQL数据库的方法 71
5.1 Spark SQL概述 71
5.2创建MySQL数据库 72
5.3在spark-shell交互式环境中读写MySQL数据库 72
5.3.1读取MySQL数据库中的数据 73
5.3.2向MySQL数据库写入数据 74
5.4编写独立应用程序读写MySQL数据库 75
5.4.1新建项目 75
5.4.2设置依赖包 76
5.4.3设置代码目录 78
5.4.4新建Scala代码文件 79
5.4.5配置pom.xml文件 80
5.4.6编译运行程序 82
5.4.7生成应用程序JAR包 83
5.4.8把JAR包提交到Spark中运行 85
5.5本章小结 86
第6章 使用Spark MLlib实现协同过滤算法 87
6.1推荐系统概述 87
6.1.1什么是推荐系统 87
6.1.2长尾理论 88
6.1.3推荐方法 88
6.1.4推荐系统模型 89
6.1.5推荐系统的应用 89
6.2协同过滤算法 90
6.2.1基于用户的协同过滤 90
6.2.2基于物品的协同过滤 91
6.2.3 UserCF算法和ItemCF算法的对比 92
6.2.4基于模型的协同过滤 92
6.3 Spark MLlib中的协同过滤算法 92
6.3.1 ALS算法的基本原理 93
6.3.2在spark-shell中运行ALS算法 95
6.3.3编写独立应用程序运行ALS算法 99
6.4本章小结 103
第7章 Node.js的安装和使用方法 104
7.1 Node.js的安装 104
7.2创建Node.js应用 105
7.2.1引入Node.js模块 105
7.2.2创建服务器 105
7.2.3接收请求与响应请求 106
7.3使用Express框架和Jade模板引擎 106
7.3.1创建项目目录 106
7.3.2安装Express开发框架 107
7.3.3安装Jade模板引擎 107
7.3.4创建服务器 107
7.3.5创建模板文件 107
7.3.6测试网页 108
7.4实例1:设计网页实现用户注册登录功能 108
7.4.1创建MySQL数据库 108
7.4.2创建项目目录 109
7.4.3安装Express开发框架 109
7.4.4安装MySQL驱动模块 109
7.4.5创建服务器 109
7.4.6创建网页 111
7.4.7测试网页 112
7.5实例2:采用Jade模板引擎实现用户注册登录功能 113
7.5.1创建项目目录 113
7.5.2安装Express开发框架 113
7.5.3安装Jade模板引擎 114
7.5.4安装MySQL驱动模块 114
7.5.5安装body-parser模块 114
7.5.6创建服务器 114
7.5.7创建网页模板文件 116
7.5.8测试网页 116
7.6实例3:通过网页调用词频统计应用程序 118
7.6.1创建项目目录 119
7.6.2安装Express开发框架 119
7.6.3创建服务器 119
7.6.4安装Jade模板引擎 119
7.6.5为应用入口index.js增加路由等功能 121
7.6.6在网页中调用程序并展现结果 123
7.7本章小结 124
第8章 电影推荐系统(基础版)的实现过程 125
8.1数据分析整体过程 125
8.2把数据集加载到HDFS中 126
8.2.1数据集基本情况 126
8.2.2数据集下载 127
8.2.3使用Kettle工具清洗数据并加载到HDFS中 127
8.3编写Spark程序实现电影推荐 134
8.3.1新建项目 134
8.3.2设置依赖包 136
8.3.3设置代码目录 137
8.3.4新建Scala代码文件 137
8.3.5配置pom.xml文件 141
8.3.6编译运行程序 142
8.3.7生成应用程序JAR包 145
8.3.8把JAR包提交到Spark中运行 147
8.4使用Node.js在网页中展现结果 148
8.4.1创建项目目录 148
8.4.2安装相关模块 148
8.4.3创建服务器 148
8.4.4添加模板文件 149
8.4.5在网页中调用程序并展现结果 150
8.5本章小结 151
第9章 电影推荐系统(升级版)的设计与实现 152
9.1系统概述 152
9.2系统总体设计 153
9.3数据库的设计与实现 153
9.3.1数据库设计 153
9.3.2数据库实现 154
9.4 Spark程序的设计与实现 155
9.4.1新建项目 156
9.4.2新建Scala代码文件 156
9.4.3配置pom.xml文件 161
9.4.4运行程序 163
9.4.5生成应用程序JAR包 165
9.5系统网站的设计与实现 166
9.5.1系统网站的设计 166
9.5.2系统网站的实现 168
9.6本章小结 179
参考文献 180