Spark课程综合实验案例:淘宝双11数据分析与预测

免费为全国高校提供大数据教学案例

建设者:厦门大学计算机科学系  林子雨 博士/助理教授

(E-mail: ziyulin@xmu.edu.cn, 个人主页:http://www.cs.xmu.edu.cn/linziyu)

(版权声明:本平台所有资源有版权,请勿用于商业用途)

(未经授权,其他网站请勿转载)

扫一扫手机访问本主页


案例简介 | 案例目的 | 软件工具 | 案例任务 | 实验步骤开发团队 | 版本历史 | 联系人


相关其他案例推荐:Spark课程实验案例:Spark+Kafka构建实时分析Dashboard

点击这里观看厦门大学林子雨老师主讲《大数据技术原理与应用》课程视频

案例简介

Spark课程实验案例:淘宝双11数据分析与预测课程案例,由厦门大学数据库实验室团队开发,旨在满足全国高校大数据教学对实验案例的迫切需求。本案例涉及数据预处理、存储、查询和可视化分析等数据处理全流程所涉及的各种典型操作,涵盖Linux、MySQL、Hadoop、Hive、Sqoop、Eclipse、ECharts、Spark等系统和软件的安装和使用方法。案例适合高校(高职)大数据教学,可以作为学生学习大数据课程后的综合实践案例。通过本案例,将有助于学生综合运用大数据课程知识以及各种工具软件,实现数据全流程操作。各个高校可以根据自己教学实际需求,对本案例进行补充完善。

案例目的

  1. 熟悉Linux系统、MySQL、Hadoop、Hive、Sqoop、Spark等系统和软件的安装和使用;
  2. 了解大数据处理的基本流程;
  3. 熟悉数据预处理方法;
  4. 熟悉在不同类型数据库之间进行数据相互导入导出;
  5. 熟悉使用JSP语言搭建动态Web工程;
  6. 熟悉使用Spark MLlib进行简单的分类操作。

适用对象

  1. 高校(高职)教师、学生
  2. 大数据学习者

时间安排

本案例可以作为《大数据处理技术Spark》课程在学期结束后的“大作业”,或者可以作为学生暑期或寒假大数据实习实践基础案例,完成本案例预计耗时7天。

预备知识

需要案例使用者,已经学习过大数据相关课程(比如入门级课程《大数据技术原理与应用》和《Spark入门教程》),了解大数据相关技术的基本概念与原理,了解Windows操作系统、Linux操作系统、大数据处理架构Hadoop的关键技术及其基本原理、数据仓库概念与原理、关系型数据库概念与原理、JSP语言概念与应用、前端JavaScript基础用法、Spark的关键技术及其原理。

不过,由于本案例提供了全部操作细节,包括每个命令和运行结果,所以,即使没有相关背景知识,也可以按照操作说明顺利完成全部实验。

硬件要求

本案例可以在单机上完成,也可以在集群环境下完成。

单机上完成本案例实验时,建议计算机硬件配置为:500GB以上硬盘,8GB以上内存。

软件工具

本案例所涉及的系统及软件:

  1. Linux系统
  2. MySQL
  3. Hadoop
  4. Hive
  5. Sqoop
  6. ECharts
  7. Eclipse
  8. Spark

图 案例所涉及软件总体概览图

数据集

淘宝购物行为数据集 (5000万条记录,数据有偏移,不是真实的淘宝购物交易数据,但是不影响学习)

案例任务

  1. 安装Linux操作系统
  2. 安装关系型数据库MySQL
  3. 安装大数据处理框架Hadoop
  4. 安装数据仓库Hive
  5. 安装Sqoop
  6. 安装Eclipse
  7. 安装 Spark
  8. 对文本文件形式的原始数据集进行预处理
  9. 把文本文件的数据集导入到数据仓库Hive中
  10. 对数据仓库Hive中的数据进行查询分析
  11. 使用Sqoop将数据从Hive导入MySQL
  12. 利用Eclipse搭建动态Web应用
  13. 利用ECharts进行前端可视化分析
  14. 利用Spark MLlib进行回头客行为预测

图  案例所涉及操作总体概览图

实验步骤

步骤零:实验环境准备 查看实验指南
步骤一:本地数据集上传到数据仓库Hive 查看实验指南
步骤二:Hive数据分析 查看实验指南
步骤三:将数据从Hive导入到MySQL 查看实验指南
步骤四:利用Spark预测回头客 查看实验指南(Scala版)
查看实验指南(Python版)
步骤五:利用ECharts进行数据可视化分析 查看实验指南

每个实验步骤所需要的知识储备、训练技能和任务清单如下:

步骤零:实验环境准备

 所需知识储备 Windows操作系统、Linux操作系统、大数据处理架构Hadoop的关键技术及其基本原理、列族数据库HBase概念及其原理、数据仓库概念与原理、关系型数据库概念与原理
训练技能 双操作系统安装、虚拟机安装、Linux基本操作、Hadoop安装、HBase安装、Sqoop安装、Eclipse安装
任务清单 1. 安装Linux系统;2. 安装Hadoop;3. 安装MySQL;4. 安装Hive;5. 安装Sqoop;6. 安装Spark;7. 安装Eclipse

步骤一:本地数据集上传到数据仓库Hive

 所需知识储备 Linux系统基本命令、Hadoop项目结构、分布式文件系统HDFS概念及其基本原理、数据仓库概念及其基本原理、数据仓库Hive概念及其基本原理
 训练技能 Hadoop的安装与基本操作、HDFS的基本操作、Linux的安装与基本操作、数据仓库Hive的安装与基本操作、基本的数据预处理方法
任务清单 1. 安装Linux系统;2. 数据集下载与查看;3. 数据集预处理;4. 把数据集导入分布式文件系统HDFS中;5. 在数据仓库Hive上创建数据库

步骤二:Hive数据分析

所需知识储备 数据仓库Hive概念及其基本原理、SQL语句、数据库查询分析
训练技能  数据仓库Hive基本操作、创建数据库和表、使用SQL语句进行查询分析
任务清单 1. 启动Hadoop和Hive;2. 创建数据库和表;3. 简单查询分析;4. 查询条数统计分析;5. 关键字条件查询分析;6. 根据用户行为分析;7. 用户实时查询分析

步骤三:将数据从Hive导入到MySQL

所需知识储备 数据仓库Hive概念与基本原理、关系数据库概念与基本原理、SQL语句
训练技能 数据仓库Hive的基本操作、关系数据库MySQL的基本操作、Sqoop工具的使用方法
任务清单 1. Hive预操作;2. 使用Sqoop将数据从Hive导入MySQL

步骤四:利用ECharts进行数据可视化分析

所需知识储备 数据可视化、Java、JSP、JavaScript、HTML
训练技能 利用JSP语言获取MySQL中的数据、搭建一个简单的动态Web应用、ECharts可视化应用
任务清单 1. 搭建tomcat+mysql+JSP开发环境2. 利用Eclipse新建可视化Web应用3. 前后端代码编写, 并添加ECharts可视化分析

步骤五:利用Spark预测回头客行为

所需知识储备 Spark、机器学习
训练技能 Spark的安装与基本操作、利用Spark 自带的MLlib库,对数据集进行分类预测
任务清单 1. 安装Spark 2.预处理训练集和测试集3.使用支持向量机SVM分类器预测回客行为

开发团队

为了解决高校大数据教学需要综合实验案例的迫切需求,2017年2月上旬,厦门大学数据库实验室组建了由林子雨老师和阮榕城(厦大数据库实验室2015级研究生)、薛倩(厦大数据库实验室2015级研究生)、魏亮(厦大数据库实验室2016级研究生)、曾冠华(厦大数据库实验室2016级研究生)同学组成的案例开发小组,通过大量调研学习网络资料和相关案例,开发了本教学案例。期间,多次举行小组会议,讨论案例制作思路和技术细节。最终,经过近两个月的团队努力,于2017年3月8日顺利完成案例第1版的开发并上线发布。

img_20161128_165737

图(摄影 夏小云)  大数据案例开发团队2016年11月28日合影

(人员从左到右名单:魏亮、阮榕城、林子雨、薛倩、曾冠华)

版本历史

2017年3月8日,发布案例V1.0版本。

联系人

本案例相关事宜,欢迎联系厦门大学数据库实验室林子雨老师:E-mail: ziyulin@xmu.edu.cn