大数据综合项目设计

陈志明、曾亮

目录

  • 1 案例概述
    • 1.1 案例目的
    • 1.2 适用对象
    • 1.3 时间安排
    • 1.4 预备知识
    • 1.5 硬件要求
    • 1.6 软件工具
    • 1.7 数据集
    • 1.8 案例任务
    • 1.9 实验步骤
  • 2 大数据实验环境搭建
    • 2.1 Linux系统及相关软件使用方法 
    • 2.2 JDK安装
    • 2.3 Scala安装
    • 2.4 Hadoop的安装和基本使用方法
    • 2.5 Spark的安装和基本使用方法
    • 2.6 MySQL数据库的安装和基本使用方法
  • 3 IntelliJ IDEA开发工具的安装和使用方法
    • 3.1 下载和安装IDEA
    • 3.2 下载Scala插件安装包
    • 3.3 启动IDEA
    • 3.4 为IDEA安装Scala插件
    • 3.5 配置项目的JDK
    • 3.6 使用IDEA开发WordCount程序
  • 4 ETL工具Kettle的安装和使用方法
    • 4.1 安装Kettle
    • 4.2 使用Kettle把数据加载到HDFS中 
  • 5 使用Spark SQL读写MySQL数据库的方法
    • 5.1 Spark SQL
    • 5.2 创建MySQL 数据库
  • 6 使用Spark MLlib实现协同过滤算法
    • 6.1 推荐系统概述 
    • 6.2 协同过滤算法 
    • 6.3 Spark MLlib中的协同过滤算法 
  • 7 Node.js的安装和使用方法
    • 7.1 Node.js的安装
    • 7.2 创建Node.js应用 
    • 7.3 使用Express框架和Jade模板引擎
    • 7.4 实例:采用Jade模板引擎实现用户注册登录功能 
  • 8 电影推荐系统(基础版)的实现过程
    • 8.1 数据分析整体过程
    • 8.2 把数据集加载到HDFS中
    • 8.3 编写Spark程序实现电影推荐
    • 8.4 使用Node.js在网页中展示结果
  • 9 电影推荐系统(升级版)的设计与实现
    • 9.1 系统概述
    • 9.2 系统总体设计
    • 9.3 数据库设计与实现
    • 9.4 spark程序设计与实现
    • 9.5 系统网站的设计与实现
  • 10 电信用户行为分析(基础版)的实现过程
    • 10.1 电信用户行为分析
  • 11 电信用户行为分析(升级版)
    • 11.1 电信用户行为分析(升级版)
推荐系统概述 

6.1 推荐系统概述 

6.1.1 什么是推荐系统

    互联网的飞速发展使我们进入了信息过载的时代,搜索引擎可以帮助我们查找内容,但只能解决明确的需求

    为了让用户从海量信息中高效地获得自己所需的信息,推荐系统应运而生。推荐系统是大数据在互联网领域的典型应用,它可以通过分析用户的历史记录来了解用户的喜好,从而主动为用户推荐其感兴趣的信息,满足用户的个性化推荐需求

    推荐系统是自动联系用户和物品的一种工具,和搜索引擎相比,推荐系统通过研究用户的兴趣偏好,进行个性化计算。推荐系统可发现用户的兴趣点,帮助用户从海量信息中去发掘自己潜在的需求

6.1.2 长尾理论

    推荐系统可以创造全新的商业和经济模式,帮助实现长尾商品的销售

    长尾概念于2004年提出,用来描述以亚马逊为代表的电子商务网站的商业和经济模式

    电子商务网站销售种类繁多,虽然绝大多数商品都不热门,但这些不热门的商品总数量极其庞大,所累计的总销售额将是一个可观的数字,也许会超过热门商品所带来的销售额

    因此,可以通过发掘长尾商品并推荐给感兴趣的用户来提高销售额。这需要通过个性化推荐来实现

    热门推荐是常用的推荐方式,广泛应用于各类网站中,如热门排行榜。但热门推荐的主要缺陷在于推荐的范围有限,所推荐的内容在一定时期内也相对固定。无法实现长尾商品的推荐

    个性化推荐可通过推荐系统来实现。推荐系统通过发掘用户的行为记录,找到用户的个性化需求,发现用户潜在的消费倾向,从而将长尾商品准确地推荐给需要它的用户,进而提升销量,实现用户与商家的双赢

6.1.3 推荐方法

    推荐系统的本质是建立用户与物品的联系,根据推荐算法的不同,推荐方法包括如下几类:

  专家推荐:人工推荐,由资深的专业人士来进行物品的筛选和推荐,需要较多的人力成本

  基于统计的推荐:基于统计信息的推荐(如热门推荐),易于实现,但对用户个性化偏好的描述能力较弱

  基于内容的推荐:通过机器学习的方法去描述内容的特征,并基于内容的特征来发现与之相似的内容

  协同过滤推荐:应用最早和最为成功的推荐方法之一,利用与目标用户相似的用户已有的商品评价信息,来预测目标用户对特定商品的喜好程度

  混合推荐:结合多种推荐算法来提升推荐效果

6.1.4 推荐系统模型

    一个完整的推荐系统通常包括3个组成模块:用户建模模块、推荐对象建模模块、推荐算法模块:

  用户建模模块:对用户进行建模,根据用户行为数据和用户属性数据来分析用户的兴趣和需求

  推荐对象建模模块:根据对象数据对推荐对象进行建模

  推荐算法模块:基于用户特征和物品特征,采用推荐算法计算得到用户可能感兴趣的对象,并根据推荐场景对推荐结果进行一定调整,将推荐结果最终展示给用户