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

1本适合高校大数据实训课程的案例教材
分享 推荐 5 收藏 83 阅读 8.5K
林子雨 (作者) 978-7-115-50306-0

关于本书的内容有任何问题,请联系 孙澍

本书是厦门大学作者团队长期经验总结的结晶。本书是在厦门大学《大数据技术原理与应用》入门级大数据教材的基础之上编写的。为了确保教程质量,在编著出版纸质教材之前,实验室已经于2016年10月通过实验室官网免费发布共享了简化版的Spark在线教程和相关教学资源,同时,该在线教程也已经用于厦门大学计算机科学系研究生的大数据课程教学,并成为全国高校大数据课程教师培训交流班的授课内容。实验室根据读者对在线Spark教程的大量反馈意见以及教学实践中发现的问题,对Spark在线教程进行了多次修正和完善,所有这些前期准备工作,都为纸质教材的编著出版打下了坚实的基础。
¥45.00 ¥38.25 (8.5 折)

内容摘要

本书详细介绍了一个大数据应用案例——电影推荐系统(Scala版),案例涉及数据预处理、数据存储与管理、数据分析和数据可视化等流程,涵盖Linux、MySQL、Hadoop、Spark、IntelliJ IDEA、Spring等系统和软件的安装与使用方法。案例采用的编程语言是Scala和Java。

目录

第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

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

林子雨(1978-),男,博士,国内高校知名大数据教师,厦门大学计算机科学系副教授,厦门大学云计算与大数据研究中心创始成员,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员,中国高校首个“数字教师”提出者和建设者。2013年开始在厦门大学开设大数据课程,建设了国内高校首个大数据课程公共服务平台,平台累计网络访问量超过1000万次,成为全国高校大数据教学知名品牌,并荣获“2018年福建省教学成果二等奖”,主持的课程《大数据技术原理与应用》获评“2018年国家精品在线开放课程”。
主讲课程:《大数据技术原理与应用》《大数据处理技术》《大数据导论》。
个人主页:http://dblab.xmu.edu.cn/post/linziyu。
E-mail: ziyulin@xmu.edu.cn。
数据库实验室网站:http://dblab.xmu.edu.cn。
建设了高校大数据课程公共服务平台(http://dblab.xmu.edu.cn/post/bigdata-teaching- platform/),为教师教学和学生学习大数据课程提供包括教学大纲、讲义PPT、学习指南、备课指南、实验指南、上机习题、授课视频、技术资料等全方位、一站式免费服务,平台每年访问量超过200万次,累计访问量超过750万次,同时提供面向高校的大数据实验平台建设方案和大数据课程师资培训服务。

推荐用户

购买本书用户

相关图书

  • ECharts数据可视化

    本书是一本采用任务驱动式体例编写的ECharts数据可视化技术教材,以通俗易懂的语言和丰富实用的任务,帮助读者...

    ¥59.80
  • 区块链技术及应用(微课版)

    郝兴伟 梁志勇

    为了适应Web 3.0时代下区块链技术发展的新趋势,同时培养高素质的区块链技术人才,编者精选了区块链的相关内容...

    ¥69.80
  • 大数据技术与应用

    孔华锋

    本书循序渐进地介绍大数据全生命周期中涉及的大数据技术与应用。本书包括9章:第1章和第2章介绍大数据相关的基础理...

    ¥59.80
  • 云计算导论(微课版)

    荆于勤 石慧霞 吴锡微 龚秀波 姚骏屏

    本书是一本全面介绍云计算基本概念、常用技术与应用的项目化教材。本书分为3篇,分别是初识云计算、体验云计算和业务...

    ¥59.80
  • Hadoop大数据处理技术基础与实践(微课版)(第3版)

    本书共11章,从Hadoop概述开始,介绍Hadoop的安装、配置与管理,并对Hadoop的生态体系架构进行介...

    ¥59.80
人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部