背景介绍:
对于推荐系统,大家应该不陌生。可以说现在已经随处可以看到它的身影。比如你浏览网页时,如在京东上购物,对应页面会根据你的浏览内容给你推荐诸多类似功能的商品。页面上的看了又看以及猜你喜欢,这2个功能背后都是大数据的推荐系统做支持。以及你看今日头条时,你会发现,系统不断动态展现你喜欢的内容,这也是根据大数据而做的推荐内容。尤其现在倡导千人千面的app应用中,每个人浏览的内容都是根据个人的兴趣爱好系统自动推荐,其背后都是整个推荐系统的作用。当然,在推荐系统里面会涉及到算法等等内容,这里不对算法进行介绍,只对推荐系统中涉及到的方方面面内容的架构进行说明。
如下介绍会涉及到诸多知识点,这里不做扩展,在以后的内容会逐渐对相关内容进行讲解。
推荐系统架构说明
整个推荐系统可以用如下图内容展示:
如图所示:
推荐系统中主要分为2大块内容:
根据操作日志进行筛选过滤提取相关有用信息得到符合既定模型的内容,这部分称之为离线数据分析。因为都是操作日志,是以往历史操作,离线数据的缺点之一就是缺乏失效性,对应得出的内容都是以前历史得到的,这造成的问题很可能是推荐系统展示内容不符合人的兴趣关注点。这就引出了第二个类内容:系统会采集实时的流数据进行实时的分析筛选,这部分叫做实时流处理。
综上:离线数据分析以及实时流处理是推荐系统的2个核心模块。当然,其背后,涉及算法,机器学习等等内容。到页面展现前,还可以根据需求在推荐内容上插入指定需要展现的内容。
【1】离线数据分析
这部分系统主要采集服务器上的日志内容,因需配合实施流的处理,这里需要先放在kafka中,然后,这些日志统一被hdfs收集,然后通过mapreduce进行关键字过滤,其一:这些内容存储HIVE仓库中,在通过ETL对数据内容进行抽取编辑,其二,这些内容也可以交给机器学习等,推荐相关内容。然后,在导出到db中,如MySQL中,然后通过推荐引擎编写应用逻辑,在db中数据进行对应需求操作,从而展现在页面上。
【2】实时流处理
通过kafka中采集数据,系统可以统计出当前最新的动态,将这些动态也插入DB中。
综上,大概是推荐系统通用的架构说明。涉及到的内容还是比较多。这里涉及到的内容在以后的内容会逐渐进行讲解。
已上内容,纯属一家之言,因本人能力一般,见识有限,如有问题,请不吝指正,感谢。
http://mini.eastday.com/bdmip/180309162605059.html?qid=999dh03
相关推荐
### Android系统架构详解 #### 一、概述 Android操作系统是一个基于Linux内核的移动设备操作系统,广泛应用于智能手机和平板电脑等移动终端。Android系统架构由五个主要组成部分构成:Linux Kernel、Android ...
NTFS文件系统的结构详解,这个文档里详细介绍了NTFS文件系统的各个组成结构
智能汽车电子电气架构详解 智能汽车的发展趋势和市场需求非常明显,智能汽车可以满足消费者对于便捷、安全和环保的交通需求,提高行车安全性、减少交通事故的发生、优化交通效率、减少拥堵和空气污染。为了更好地...
《系统架构设计师试题及答案详解》是一份针对2011年下半年系统架构设计师考试的重要参考资料。这份压缩包包含了综合知识试题、案例分析以及论文题目及其详细的解答,旨在帮助备考者全面理解和掌握架构设计的核心概念...
《ARM嵌入式Linux系统开发详解》是一本深入探讨如何在ARM处理器上构建和开发Linux系统的资源集合。ARM架构因其低功耗、高性能的特点,在嵌入式领域广泛应用,而Linux作为开源的操作系统,为开发者提供了丰富的工具和...
文件系统结构详解,文件系统组成以及存储原理,以及linux中操作磁盘的一些常用命令
"大型Web系统架构详解" 本文将详细介绍大型Web系统架构的详细信息,涵盖了Web前端系统、负载均衡系统、数据库集群系统、缓存系统、分布式存储系统、分布式服务器管理系统等几个方面。 一、Web前端系统 大型Web...
Linux系统架构详解 Linux系统是一种遵循自由和开放源码原则的类Unix操作系统,其核心是Linux内核。尽管“Linux”一词最初仅指代内核,但现在通常用于描述整个基于Linux内核并采用GNU工程工具和数据库的操作系统集合...
该书共分为六章,涵盖了5G移动通信系统的发展概述、系统架构与标准体系、5G接入网架构和接口、帧结构与物理信道、系统初始接入与移动性管理设计、控制信道设计与资源调度等内容。 第1章对5G发展概述进行了介绍,...
互联网支付系统架构详解.docx
大型web网站架构详解, 负载均衡、session共享、反向代理、集群技术、动静分离技术讲解
当系统的功能不断扩展,增加新的任务时,可以比较容易地将新任务加入轮询表中,而不必对整个系统架构做大的改动。同时,对于多任务操作,时间片轮询也便于实现任务之间的互斥和同步,保证多个任务能够正确地协同工作...
《ARM嵌入式LINUX系统开发详解-第2版》是一部深入探讨ARM架构下Linux系统开发的专业书籍。在当今物联网和智能设备日益普及的时代,掌握ARM嵌入式Linux开发技术对于硬件工程师、软件开发者以及系统集成商来说至关重要...
**二、EVDO系统架构** EVDO系统主要由三个部分组成:终端设备、基站(Evolved NodeB,eNodeB)和核心网络。终端设备包括用户手机或数据卡,负责与基站进行无线通信;基站负责处理来自多个用户的信号,并将数据传送...
LTE系统架构详解PPT教案学习.pptx
《Unix操作系统详解》是一部深入解析Unix操作系统的权威之作,它涵盖了Unix系统的基础概念、设计哲学、内核机制、用户界面以及系统管理等多个方面。通过学习这部资料,读者可以全面了解Unix这一经典操作系统的核心...
### ARM嵌入式Linux系统开发详解 #### 一、嵌入式系统定义及特性 嵌入式系统,作为计算机科学领域的重要分支,以其独特的体积小、功能专一、软硬件可裁剪的特性,深入人们的日常生活。从智能家电到工业自动化,从...
OpenStack 架构详解 OpenStack 是一个社区、项目和开源软件,提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的...