大数据总结【第十一章:图计算】

1【单选题】Pregel是一种基于()模型实现的并行图处理系统。
A、SBP
B、TSP
C、STP
D、BSP
我的答案:D
2【单选题】谷歌在后Hadoop时代的新“三驾马车”不包括()。
A、Dremel
B、Pregel
C、Caffeine
D、Hama
我的答案:D
3【多选题】以下关于Pregel图计算框架说法正确的是()。
A、通常只对满足交换律和结合律的操作才会开启Combiner功能
B、对于全局拓扑改变,Pregel采用了惰性协调机制
C、Aggregator提供了一种全局通信、监控和数据查看的机制
D、Pregel采用检查点机制来实现容错
我的答案:ABCD
4【填空题】Pregel的计算过程是由一系列被称为()的迭代组成的。
超步
5【填空题】Pregel图计算框架的顶点通讯是通过()来实现的。
消息传递机制
6【判断题】Hama是Google Pregel的开源实现,是在HDFS上实现的BSP计算框架,弥补Hadoop在计算能力上的不足。√

Pregel及其计算模型

Pregel简介

●谷歌公司在2003年到2004年公布了GFS、MapReduce 和BigTable成为后来云计算和Hadoop项目的重要基石
●谷歌在后Hadoop时代的新“三驾马车”- – Caffeine、 Dremel 和Pregel,再一次影响着圈子与大数据技术的发展潮流Pregel是-种基于BSP模型实现的并行图处理系统
●为了解决大型图的分布式计算问题,Pregel 搭建了-套可扩展的、有容错机制的平台,该平台提供了一套非常灵活的API,可以描述各种各样的图计算
●Pregel作为分布式图计算的计算框架,主要用于图遍历、 最短路径、PageRank计算等等

有向图和顶点

  • Pregel计算模型以有向图作为输入
  • 有向图的每个顶点都有一个String类型的顶点ID
  • 每个顶点都有一个可修改的用户自定义值与之关联
  • 每条有向边都和其源顶点关联,并记录了其目标顶点ID
  • 边上有一个可修改的用户自定义值与之关联
    大数据总结【第十一章:图计算】_第1张图片
  • 在每个超步S中,图中的所有顶点都会并行执行相同的用户自定义函数
  • 每个顶点可以接收前一个超步(S-1)中发送给它的消息,修改其自身及其出射边的状态,并发送消息给其他顶点,甚至是修改整个图的拓扑结构
  • 在这种计算模式中,“边” 并不是核心对象,在边上面不会运行相应的计算,只有顶点才会执行用户自定义函数进行相应计算
    大数据总结【第十一章:图计算】_第2张图片

顶点之间的消息传递

采用消息传递模型主要基于以下两个原因:
(1)消息传递具有足够的表达能力,没有必要使用远程读取或共享内存的方式
( 2)有助于提升系统整体性能。大型图计算通常是由- -一个集群完成的,集群环境中执行远程数据读取会有较高的延迟; Pregel的消息模式采用异步和批量的方式传递消息,因此可以缓解远程读取的延迟

大数据总结【第十一章:图计算】_第3张图片

Pregel的计算过程

●Pregel的计算过程是由一系列被称为“超步”的迭代组成的
●在每个超步中,每个顶点上面都会并行执行用户自定义的函数,该函数描述了一个顶点V在一个超步s中需要执行的操作
●该函数可以读取前一个超步(S-1)中其他顶点发送给顶点V的消息,执行相应计算后,修改顶点V及其出射边的状态,然后沿着顶点V的出射边发送消息给其他顶点,而且,一个消息可能经过多条边的传递后被发送到任意已知ID的目标顶点上去这些消息将会在下一个超步(S+1)中被目标顶点接收,然后象上述过程一样开始下一个超步(S+1)的迭代过程
大数据总结【第十一章:图计算】_第4张图片
●在Pregel计算过程中,一个算法什么时候可以结束,是由所有顶点的状态决定的.
●在第0个超步,所有顶点处于活跃状态,都会参与该超步的计算过程当一个顶点不需要继续执行进- - 步的计算时,就会把自己的状态设置为
“停机”,进入非活跃状态
●一旦一个顶点进入非活跃状态,后续超步中就不会再在该顶点上执行计算除非其他顶点给该顶点发送消息把它再次激活当一个处于非活跃状态的顶点收到来自其他顶点的消息时,Pregel 计算框架必须根据条件判断来决定是否将其显式唤醒进入活跃状态
●当图中所有的顶点都已经标识其自身达到“非活跃( inactive )”状态,并且没有消息在传送的时候,算法就可以停止运行
大数据总结【第十一章:图计算】_第5张图片

实例

大数据总结【第十一章:图计算】_第6张图片

你可能感兴趣的:(大数据学习)