失效链接处理 |
基于Spark的实时电影推荐系统研究 PDF 下载
本站整理下载:
相关截图:
主要内容:
本章对论文中涉及到的相关技术和原理进行详细介绍,首先介绍了构建一套
实时推荐系统所涉及到的大数据相关技术,例如 HDFS、Spark、Kafka 等。接着
阐述推荐系统相关内容,重点分析基于隐式反馈的协同过滤算法,交替最小二乘
法(ALS)原理,推荐系统的评价指标。最后介绍神经网络的基本技术,为下一
章使用神经网络结构来为用户的隐式反馈建模做铺垫。
2.1 大数据相关技术
2.1.1 Spark 架构介绍
最早 Spark 是加州伯克利分校 AMP 实验室的作品,后来被开源捐赠给了
Apache 基金会,并在 2014 年很快就成为了 Apache 的顶级项目。目前 Spark 已
逐渐形成了自己的生态圈,主要包括的内容有:Spark Core(核心库)、Spark SQL
(类 sql 库)、Spark Streaming(流处理库)、Spark MLlib(机器学习库)、Spark
GraphX(图处理库)等。其与大数据领域另一个分布式计算引擎,即 Doug Cutting
开发的 Hadoop 相比,两者的特点如表 1-1。 表 1-1 Hadoop 与 Spark 比较
Project Hadoop Spark
起源时间 2004 年 2009 年
设计目的 使用分布式计算处理大规模
数据
克服 M/R 模型的缺陷,适用
更多的场景
计算模型 Map-Reduce 编程模型 基于内存的弹性分布式数据
集(RDD)
主要支持语言 JAVA Scala
处理效率 大量 I/O 操作,效率低 基于内存计算,效率高
适用场景 非迭代的批处理计算 批处理,实时处理
稳定性 高 一般
通用性 较弱,需要集成额外框架 兼容 SparkSQL、Spark
Streaming、MLlib 等
生态圈发展 Hive、Pig、Mahout 等 Spark 子模块
缺点 计算模型单一,效率低 内存要求较高,成本较大
Spark 解决了 Hadoop 计算模型单一、重复计算、大量 I/O 操作导致执行效率
低下等缺点,其整合了内存计算单元,由于基于内存计算的特性,使得性能方面
相比于传统的 Map-Reduce 框架提升了 10 到 100 倍,不仅具备实时处理大数据的
能力,更兼备高可扩展性和高容错性等特点,同时 Spark 还可以部署在大量的廉
第 2 章 基本理论及相关技术
9 价计算机之上,组成 Spark 集群。由于 Spark 开创性地引入弹性分布式数据集
(RDD)(Zaharia M,et al.,2012),不仅可以提供交互式的查询,而且还能优化
迭代工作负载,实现各个计算阶段的资源共享。
通常来讲,数据处理模型包含四种:关系查询(Relational Queries)、迭代
算法(Iterative Algorithms)、映射归约(Map Reduce)以及流式处理(Stream
Processing)。众所周知的 Hadoop 采用的是 Map Reduce 编程模型,Storm 采用
的是 Stream Processing 计算模型。Spark 与其他处理框架明显不同,其建立在抽
象的弹性分布式数据集(RDD)基础之上,并且巧妙地融合了上述 4 种计算模
型,这样 Spark 便可以用基本一致的方式来应对不同的大数据处理场景,因此要
理解 Spark,应先对 RDD 有所了解。表 2-2 对 Spark 中设计的术语进行简要解释。
|