赞
踩
chp7:hadoop、yarn设计思路、流式计算、bsp模型、pagerank算法
应用:信息检索模型、评价一个IR系统的好坏、协同过滤、user-based item-based及其运算
云计算:云计算特点、云计算服务类型分类、虚拟化分类
计算题:范数计算、协同过滤、检索模型
1、传统单机与分布式问题总结:
传统单机计算:
·计算资源有限,难以处理海量数据
传统分布式系统开发:
·任务依赖关系复杂,容易出现死锁
·数据交换时需要同步
·系统的局部故障难以处理
传统分布式数据存储与访问:
·数据“一致性”难以保证
·数据在需要时被复制到计算节点,数据访问瓶颈
2、大数据处理平台包括哪些部分,有哪些功能?大数据处理平台的计算有什么特点?
大数据处理平台技术架构:
特点:
·通过分布式计算框架来实现
·提供高效的计算模型和简单的编程接口
·可扩展性:通过增加资源以满足不断增加的性能和功能需求
·容错能力:考虑系统的不可靠性,支持出现错误后自动恢复
·高效可靠I/O:缓解数据访问瓶颈问题,提高执行效率
3、简述MapReduce计算架构和计算过程
基本思想:
·分而治之: 数据被切分成许多独立分片,被多个Map任务并行处理
·计算向数据靠拢: 计算程序被分发到数据节点,在本地计算
4、yarn设计思路
MapReduce1.0既是一个计算框架,也是一个资源管理调度框架。
到了Hadoop2.0以后,MapReduce1.0中的资源管理调度功能,被单独分离出来形成了YARN,它是一个纯粹的资源管理调度框架,而不是一个计算框架。被剥离了资源管理调度功能的MapReduce 框架就变成了MapReduce2.0,它是运行在YARN之上的一个纯粹的计算框架,不再自己负责资源调度管理服务,而是由YARN为其提供资源管理调度服务。
yarn体系结构、工作流程
YARN的发展目标就是实现“一个集群多个框架”。
5、什么是批量大数据计算?什么是流式大数据计算?流式大数据计算与批量大数据计算的主要区别有哪些?
6、流式计算
简述流式大数据计算的拓扑。
流式计算中典型的数据分发机制有哪些?
流是Storm中数据处理的核心概念
·数据处理从最初输入到最终输出可看做是一个流
每个流构成了一个拓扑(topology)
·产生源数据流的组件称为Spout
·接收数据和处理数据的组件称为Bolt
·消息传递的基本单元称为Tuple
四个特性:
·数据实时到达
·数据到达次序独立,不受应用系统所控制
·数据规模宏大且不能预知其最大值
·数据一经处理,除非特意保存,否则不能被再次取出处理,或者再次提取数据代价昂贵
7、大规模图处理
简述BSP(Bulk Synchronous Parallel)模型的基本原理和BSP计算的主要步骤。
BSP模型是一种异步MIMD-DM模型
DM: distributed memory,SM: shared memory
·一种基于块同步的并行计算模型
·块内异步并行,块间显式同步
一个BSP程序同时具有水平和垂直两个方面的结构
·垂直看, 由一系列串行的超步组成,类似串行程序结构
·水平看,在一个超步中,所有的进程并行执行局部计算
局部计算:每个处理器只对存储本地内存中的数据进行本地计算
全局通讯:处理器群相互交换数据,由一方发起推送(Put)和获取(Get)操作
栅栏同步(Barrier Synchronization): 当一个处理器遇到栅栏 ,会等到其他处理器
pagerank算法
pi, pj 为待排序的用户
M(pi) 为那些关注用户 pi 的用户集合(入度集)
L(pj) 为用户 pj 所关注的用户集合(出度集)
N 为总的用户数量
·将PageRank算法中的每一次迭代设计成BSP模型中的一个超步
·并行迭代更新排名,直至收敛
pregel:
核心思想:源自BSP模型
-计算过程由一系列被称为超步的迭代组成
-每个超步S中,会针对每个顶点 V 调用用户自定义的函数(并行)
·读取前一个超步(S-1)中发送给 V 的消息
·修改顶点 V 及其出边的状态
·发送消息给其他顶点,这些消息将会在下一个超级步(S+1)中被接收
PageRank算法在Pregel中的实现
在Pregel计算模型中,图中的每个顶点会对应一个计算单元,每个计算单元包含三个成员变量:
·顶点值(Vertex value):顶点对应的PR值
·出射边(Out edge):只需要表示一条边,可以不取值
·消息(Message):传递的消息,因为需要将本顶点对其它顶点的PR贡献值,传递给目标顶点
每个计算单元包含一个成员函数Compute(),该函数定义了顶点上的运算,包括该顶点的PR值计算,以及从该顶点发送消息到其链出顶点
PageRank算法在MapReduce中的实现
·第一阶段:解析网页
·第二阶段:PageRank分配
·第三阶段:收敛阶段
PageRank算法在Pregel和MapReduce中实现方式的区别主要表现在以下几个方面:
(1)Pregel将PageRank处理对象看成是连通图,而MapReduce则将其看成是键值对
(2)Pregel将计算细化到顶点,同时在顶点内控制循环迭代次数,而MapReduce则将计算批量化处理,按任务进行循环迭代控制
(3)图算法如果用MapReduce实现,需要一系列的MapReduce的调用。从一个阶段到下一个阶段,它需要传递整个图的状态,会产生大量不必要的序列化和反序列化开销。而Pregel使用超步简化了这个过程
信息检索模型
评价一个IR系统的好坏 :相关性判断、有效性衡量
P:精确度
R:召回度
精确性和召回的计算:
精确性和召回的权衡:
1、推荐算法的优缺点:
热度排行榜:
-优点:容易实现,可以解决新用户的冷启动问题
-缺点:更新很慢,很难推新
基于内容推荐:
-优点:
能够推荐出用户独有的小众癖好
可以一定程度解决数据稀疏问题和item 冷启动问题
-不足:
很难将不同item的特征组合在一起(领域思想)
很难带给用户惊喜性
如果和用户的profile挖掘不准,推荐效果往往很差
协同过滤:
-优点
需要很少的领域知识,模型通用性很强
工程上实现简单,效果很好
-缺点
冷启动问题
数据稀疏性问题
很难推荐出小众偏好
关联规则:
-优缺点
1.实现简单,通用性较强
2.相似商品的推荐效果往往不如协同过滤好
3.容易出现辛普森悖论
聚类:
-优缺点
可以在一定程度上解决数据稀疏性问题,可以捕捉到一些隐相似性
聚类的精确度往往不如协同过滤的好
分类/ 回归:
-优缺点
比较通用,可以跟其他方法组合,提高预测的准确性
需要大量训练数据,防止过拟合
图模型:
-优缺点
1.借助图的结构的传导性,可发现CF发现不了的弱相似性,给推荐带来一定的惊喜性
2.数据稀疏性,冷启动问题
混合方法:
-优缺点
通常比单个算法表现好
需要在不同算法之间,理论效果和实际可行性之间仔细权衡
2、协同过滤
协同过滤方法:
–启发式方法:
要点:利用用户的行为来获得项目之间的相似性。
–基于用户:雇用相似的用户来推断他们的项目是相似的。
–基于项目:利用用户的相似行为来推断项目的相似性
讨论:基于内容和基于项目的不同CF:
一种是利用项目的内容或属性来获取项目的相似性,另一种是利用用户的行为来获取项目的相似性。
1、云计算概念:
云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。
/云计算是通过网络按需提供可动态伸缩的廉价计算服务。
2、云计算特点
7个特点:
3、云计算服务类型分类
4、虚拟化技术分类
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。