大数据实训案例——电影推荐系统(Scala版)

大数据实训案例——电影推荐系统(Scala版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2019-05
版次: 1
ISBN: 9787115503060
定价: 45.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 180页
正文语种: 简体中文
35人买过
  • 本书详细介绍了一个大数据应用案例——电影推荐系统(Scala版),案例涉及数据预处理、数据存储与管理、数据分析和数据可视化等流程,涵盖Linux、MySQL、Hadoop、Spark、IntelliJ IDEA、Spring等系统和软件的安装与使用方法。案例采用的编程语言是Scala和Java。 林子雨(1978-),男,博士,厦门大学计算机科学系助理教授,厦门大学云计算与大数据研究中心创始成员,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员。于2001年获得福州大学水利水电专业学士学位,2005年获得厦门大学计算机专业硕士学位,2009年获得北京大学计算机专业博士学位。中国高校**“数字教师”提出者和建设者(http://www.cs.xmu.edu.cn/linziyu),2009年至今,“数字教师”大平台累计向网络免费发布超过500万字高价值的教学和科研资料,累计网络访问量超过500万次。 主要研究方向为数据库、数据仓库、数据挖掘和大数据,发表期刊和会议学术论文多篇,并作为课题负责人主持了1项国家自然科学基金、1项福建省自然科学基金项目和1项福建省教改课题。曾作为志愿者翻译了Google Spanner、BigTable和《Architecture of a Database System》等大量英文学术资料,与广大网友分享,深受欢迎。2013年开始在厦门大学开设大数据课程,并因在教学领域的突出贡献和学生的认可,成为2013年度和2017年度厦门大学教学类奖教金获得者。获得2017年福建省精品在线开放课程、2018年厦门大学高等教育教学成果特等奖、2018年福建省高等教育教学成果二等奖。 主讲课程:《大数据处理技术》。 个人主页:http://www.cs.xmu.edu.cn/linziyu。 E-mail: ziyulin@xmu.edu.cn。 数据库实验室网站:http://dblab.xmu.edu.cn。 建设了高校大数据课程公共服务平台(http://dblab.xmu.edu.cn/post/bigdata-teaching- platform/),成为全国高校大数据教学****。平台为教师教学和学生学习大数据课程提供包括教学大纲、讲义PPT、学习指南、备课指南、实验指南、上机习题、授课视频、技术资料等全方位、一站式免费服务,平台年访问量超过100万次,同时提供面向高校的大数据实验平台建设方案和大数据课程师资培训服务。 第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
  • 内容简介:
    本书详细介绍了一个大数据应用案例——电影推荐系统(Scala版),案例涉及数据预处理、数据存储与管理、数据分析和数据可视化等流程,涵盖Linux、MySQL、Hadoop、Spark、IntelliJ IDEA、Spring等系统和软件的安装与使用方法。案例采用的编程语言是Scala和Java。
  • 作者简介:
    林子雨(1978-),男,博士,厦门大学计算机科学系助理教授,厦门大学云计算与大数据研究中心创始成员,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员。于2001年获得福州大学水利水电专业学士学位,2005年获得厦门大学计算机专业硕士学位,2009年获得北京大学计算机专业博士学位。中国高校**“数字教师”提出者和建设者(http://www.cs.xmu.edu.cn/linziyu),2009年至今,“数字教师”大平台累计向网络免费发布超过500万字高价值的教学和科研资料,累计网络访问量超过500万次。 主要研究方向为数据库、数据仓库、数据挖掘和大数据,发表期刊和会议学术论文多篇,并作为课题负责人主持了1项国家自然科学基金、1项福建省自然科学基金项目和1项福建省教改课题。曾作为志愿者翻译了Google Spanner、BigTable和《Architecture of a Database System》等大量英文学术资料,与广大网友分享,深受欢迎。2013年开始在厦门大学开设大数据课程,并因在教学领域的突出贡献和学生的认可,成为2013年度和2017年度厦门大学教学类奖教金获得者。获得2017年福建省精品在线开放课程、2018年厦门大学高等教育教学成果特等奖、2018年福建省高等教育教学成果二等奖。 主讲课程:《大数据处理技术》。 个人主页:http://www.cs.xmu.edu.cn/linziyu。 E-mail: ziyulin@xmu.edu.cn。 数据库实验室网站:http://dblab.xmu.edu.cn。 建设了高校大数据课程公共服务平台(http://dblab.xmu.edu.cn/post/bigdata-teaching- platform/),成为全国高校大数据教学****。平台为教师教学和学生学习大数据课程提供包括教学大纲、讲义PPT、学习指南、备课指南、实验指南、上机习题、授课视频、技术资料等全方位、一站式免费服务,平台年访问量超过100万次,同时提供面向高校的大数据实验平台建设方案和大数据课程师资培训服务。
  • 目录:
    第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
查看详情
12