一.图简介

图数据结构可以很好的展示关联关系,关联性计算是大数据计算核心,Pregel是一种基于BSP模型实现的并行图处理系统。主要用于图遍历(BFS)、最短路径(SSSP)、PageRank计算等等计算。

二.模型

2.1 简介

Pregel计算模型,输入是一个有向图,该有向图每个顶点(Vertex)是唯一,每个顶点都有属性,这些属性可以被修改,其初始值由用户定义,边也有属性,与顶点关联。

消息(Message),消息是Pregel计算模型的核心。每个 Vertex 在初始状态以及之后的每一个计算步骤当中都被 Attach 一个 Message 值作为 Vertex 当前的状态,算法的迭代通过 Vertex 之间互相发送的消息来完成。

超迭代(Superstep)。一个 Superstep 是 Pregel 在执行算法过程当中进行的一次迭代。 一次 Pregel 计算过程可能包括多个 Superstep。

2.2 Vertex

Pregel图计算过程与MapReduce非常接近:在迭代每一个步骤,将会以图的节点为中心进行Map操作,这意味Map函数当中我们只有以某一节点为中心的局部信息,包括:

  • 一个 Vertex 和它当前 Attach 的 Message
  • 当前 Vertex 向外指向的 Edge 和 Edge 上的属性
  • 当前 Vertex 在上一步计算当中所接收到的全部 Message

Vertex状态变化

当一个Vertex在上上一步当中没

Pregel模型原理相关推荐

  1. 大数据——GraphX之Pregel算法原理及Spark实现

    GraphX之Pregel算法原理及Spark实现 Pregel 案例:求顶点5到其他各点的最短距离 Pregel原理分析 Pregel 源码 def pregel[A: ClassTag](init ...

  2. Holt-Winters模型原理分析

    Holt-Winters模型原理分析及代码实现(python) from:https://blog.csdn.net/u010665216/article/details/78051192 引言 最近 ...

  3. Select模型原理

    Select模型原理 利用select函数,推断套接字上是否存在数据,或者是否能向一个套接字写入数据.目的是防止应用程序在套接字处于锁定模式时,调用recv(或send)从没有数据的套接字上接收数据, ...

  4. Java开发中Netty线程模型原理解析!

    Java开发中Netty线程模型原理解析,Netty是Java领域有名的开源网络库具有高性能和高扩展性的特点,很多流行的框架都是基于它来构建.Netty 线程模型不是一成不变的,取决于用户的启动参数配 ...

  5. [zz]GMM-HMM语音识别模型 原理篇

    GMM-HMM语音识别模型 原理篇 分类: Data Structure Machine Learning Data Mining 2014-05-28 20:52 20662人阅读 评论(34) 收 ...

  6. logistic模型原理与推导过程分析(3)

    附录:迭代公式向量化 θ相关的迭代公式为: ​ 如果按照此公式操作的话,每计算一个θ需要循环m次.为此,我们需要将迭代公式进行向量化. 首先我们将样本矩阵表示如下: 将要求的θ也表示成矩阵的形式: 将 ...

  7. logistic模型原理与推导过程分析(2)

    二项逻辑回归模型 既然logistic回归把结果压缩到连续的区间(0,1),而不是离散的0或者1,然后我们可以取定一个阈值,通常以0.5为阈值,如果计算出来的概率大于0.5,则将结果归为一类(1),如 ...

  8. logistic模型原理与推导过程分析(1)

    从线性分类器谈起 给定一些数据集合,他们分别属于两个不同的类别.例如对于广告数据来说,是典型的二分类问题,一般将被点击的数据称为正样本,没被点击的数据称为负样本.现在我们要找到一个线性分类器,将这些数 ...

  9. 自然语言生成任务,如文本摘要和图像标题的生成。seq2seq的模型原理

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/Irving_zhang/article/details/78889364 </div>& ...

最新文章

  1. php zblog 侧边栏样式_zblogphp版如何实现导航栏下拉框
  2. Ubuntu16.04下arm-linux-gcc交叉编译环境搭建
  3. java window的对象方法,[Java教程]如何真正重写window对象的方法_星空网
  4. JavaScript学习(四十五)—练习题
  5. 如何删除打印队列中的任务
  6. Shell:dos新建sh脚本在linux下执行报错“/bin/sh^M”
  7. 【ArcGIS|空间分析】3D可视性分析(全国大学生GIS技能大赛试题)
  8. Android从 HttpResponse (或者InputStream) 获取字符串内容的代码
  9. 用户中心模块——基于Django框架的天天生鲜电商网站项目系列博客(五)
  10. 电子邮件收发原理和JavaMail开发
  11. spss 描述性分析
  12. 接口测试常用文档模板介绍
  13. 摄影测量:ERDAS自动、手动和导入特征点对(超详细)
  14. tcpdump抓包笔记
  15. jflash命令行下自动加载配置、烧录、退出
  16. 给windows客户端开发新人的一点建议
  17. 盘点多边形战士Polygon有哪些扩容解决方案|Tokenview
  18. 全球投资银行收入排名(2011)
  19. ExFuse:旷视提出的用于语义分割的增强特征融合
  20. OV7670电路+引脚

热门文章

  1. 游戏本适合哪个c语言编译器,过去认知或许都是错的 主编告诉你游戏PC该怎么选...
  2. 相比谷歌微软,苹果今年的WWDC可能有些凉凉
  3. 面向对象和面向过程的区别(盖饭VS蛋炒饭)
  4. [kooboo]创建站点过程
  5. 2017 Android GitHub常用热门开源框架汇总
  6. 关于 阿里云短信服务测试签名模版使用教程
  7. 10 行代码,实现写诗机器人
  8. 本地客户端连接阿里云Redis服务器
  9. List中addAll()方法简介
  10. thinkphp3.2.3(5以下)的addAll返回值问题