MaxCompute 图计算用户手册(上)
概要
ODPS GRAPH是一套面向迭代的图计算处理框架。图计算作业使用图进行建模,图由点(Vertex)和边(Edge)组成,点和边包含权值(Value),ODPS GRAPH支持下述图编辑操作:
- 修改点或边的权值;
- 增加/删除点;
- 增加/删除边;
备注:
- 编辑点和边时,点与边的关系需要用户维护。
通过迭代对图进行编辑、演化,最终求解出结果,典型应用:PageRank,单源最短距离算法 ,K-均值聚类算法 等等。用户可以使用 ODPS GRAPH 提供的接口Java SDK编写图计算程序。
[]()Graph数据结构
ODPS GRAPH能够处理的图必须是是一个由点(Vertex)和边(Edge)组成的有向图。由于ODPS仅提供二维表的存储结构,因此需要用户自行将图数据分解为二维表格式存储在ODPS中,在进行图计算分析时,使用自定义的GraphL
- 上一篇
MaxCompute 图计算开发指南
快速入门step by step MaxCompute Studio 创建完成MaxCompute Java Module后,即可以开始开发Graph了。 代码示例 在examples目录下有graph的一些代码示例,可参考示例熟悉Graph程序的结构。 编写Graph 在module的源码目录即src>main>javanewMaxCompute Java。 选择GraphLoader/Vertex等类型,NameOK**,模板会自动填充框架代码,可在此基础上继续修改。 本地调试Graph Graph开发好后,下一步就是要测试自己的代码,看是否符合预期。我们支持本地运行Graph,具体的: 运行Graph: 在驱动类(有main函数且调用GraphJob.run方法)上右键,点击运行run configuration**对话框,配
- 下一篇
MaxCompute 图计算用户手册(下)
示例程序 强连通分量 在有向图中,如果从任意一个顶点出发,都能通过图中的边到达图中的每一个顶点,则称之为强连通图。一张有向图的顶点数极大的强连通子图称为强连通分量。此算法示例基于parallel Coloring algorithm。每个顶点包含两个部分,如下所示:colorID:在向前遍历过程中存储顶点 v 的颜色,在计算结束时,具有相同 colorID 的顶点属于一个强连通分量。transposeNeighbors:存储输入图的转置图中顶点 v 的邻居 ID。算法包含以下四部分:生成转置图:包含两个超步,首先每个顶点发送 ID 到其出边对应的邻居,这些 ID 在第二个超步中会存为 transposeNeighbors 值。修剪:一个超步,每个只有一个入边或出边的顶点,将其 colorID 设为自身 ID,状态设为不活跃,后面传给