基于spark-streaming实时推荐系统(一)
2016-11-03 20:48
387 查看
前言
随着互联网的飞速发展,如何能够让用户在广袤的互联网中获取到他所想要的,这时候人们有了搜索引擎。搜索引擎好比一个仓库,它需要事先储藏大量的资源,你需要什么都可以从中获取得到。这种被动索取的方式无形之中也注定了搜索引擎在某个范围内只能一家独大。科技改变着人们的生活,随着大数据时代的到来,传统被动等候来获取的方式由于其需要的前期投入较大,准确性往往也不能满足用户的真正需求,在此背景之下,推荐引擎遍广泛的被大家所接收,它的出现改变了系统被动的一面,它就好似跟踪导弹,只要你出现在互联网之中,就可以时刻为你推荐。
前期已经写了推荐系统离线计算的博文,主要是根据CF寻找相似,这种离线的推荐在计算周期内推荐结果不发生改变。个性化推荐则需要用户发生行为而实时为其推送推荐结果。
下面简单介绍下spark-streaming实时推荐系统搭建
系统边界
![](http://img.blog.csdn.net/20161103203215881)
依托于一套可以实时采集到用户行为的日志采集系统,详情可以参见用户实时行为数据采集 将数据实时推送至kafka中,spark-streaming实时读取kafka中数据,进行特定的业务规则处理。这里会用到UpdateStateByKey方法,有兴趣的朋友可以去查阅相关资料了解此方法的原理及实现。
数据流
kafka接数
业务逻辑实现
这里可以自由发挥
结束语
为了真实准确的为用户进行实时推荐,最终还是要依赖历史数据进行整合,需要依赖一套完整的离线推荐系统作为数据支撑。未完待续。
随着互联网的飞速发展,如何能够让用户在广袤的互联网中获取到他所想要的,这时候人们有了搜索引擎。搜索引擎好比一个仓库,它需要事先储藏大量的资源,你需要什么都可以从中获取得到。这种被动索取的方式无形之中也注定了搜索引擎在某个范围内只能一家独大。科技改变着人们的生活,随着大数据时代的到来,传统被动等候来获取的方式由于其需要的前期投入较大,准确性往往也不能满足用户的真正需求,在此背景之下,推荐引擎遍广泛的被大家所接收,它的出现改变了系统被动的一面,它就好似跟踪导弹,只要你出现在互联网之中,就可以时刻为你推荐。
前期已经写了推荐系统离线计算的博文,主要是根据CF寻找相似,这种离线的推荐在计算周期内推荐结果不发生改变。个性化推荐则需要用户发生行为而实时为其推送推荐结果。
下面简单介绍下spark-streaming实时推荐系统搭建
系统边界
依托于一套可以实时采集到用户行为的日志采集系统,详情可以参见用户实时行为数据采集 将数据实时推送至kafka中,spark-streaming实时读取kafka中数据,进行特定的业务规则处理。这里会用到UpdateStateByKey方法,有兴趣的朋友可以去查阅相关资料了解此方法的原理及实现。
数据流
1. 数据输入: Kafka Hosts: Topic: 2. 中间结果: Redis scala编写,需要注意如何将结果保存至redis,常见的有序列号和json。 3. 结果输出 Kafka:考虑未来多系统消费,信息丰富化 Hosts: Topic:
kafka接数
val sparkConf = new SparkConf().setAppName("realtimeRecommendation") .set("spark.streaming.backpressure.enabled", "true") val ssc = new StreamingContext(sparkConf, Seconds(15)) ssc.checkpoint("/checkpoint/pztyz") val kafkaConfig = Map("metadata.broker.list" -> "kafka地址") val topics = Set(sparkConf.get("topic")) val stream = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](ssc, kafkaConfig, topics)
业务逻辑实现
这里可以自由发挥
结束语
为了真实准确的为用户进行实时推荐,最终还是要依赖历史数据进行整合,需要依赖一套完整的离线推荐系统作为数据支撑。未完待续。
相关文章推荐
- 基于spark-streaming实时推荐系统(三)
- 基于spark-streaming实时推荐系统( 二)
- Spark构建推荐引擎之二:基于Spark Streaming 实时推荐计算
- 苏宁基于Spark Streaming的实时日志分析系统实践
- 基于Spark平台的电影推荐系统实现
- Kafka+Spark Streaming+Redis实时系统实践
- 基于spark的多模型融合的推荐系统
- 基于Spark机器学习和实时流计算的智能推荐系统
- [Spark机器学习]基于Spark 2.0 机器学习之推荐系统实现
- Spark-ML-基于云平台和用户日志的推荐系统
- 使用 Kafka 和 Spark Streaming 构建实时数据处理系统(转)
- Kafka+Spark Streaming+Redis实时系统实践
- 基于Spark机器学习和实时流计算的智能推荐系统
- [Spark机器学习]基于Spark 2.0 机器学习之推荐系统实现
- 推荐系统实践2---修改后的电影推荐系统(基于MLlib、SparkSQL、MYSQL、HDFS)
- 基于 Spark 和 Flask 的一个可伸缩的电影推荐系统
- 实时Hadoop实战篇:基于Storm实时路况分析和实时路径推荐系统
- 基于Spark机器学习和实时流计算的智能推荐系统
- Kafka+Spark Streaming+Redis实时系统实践