帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:分布式  flink  Apache  
Distributed Graph Analytics on Apache Hadoop

  • 源代码名称:gradoop
  • 源代码网址:http://www.github.com/dbs-leipzig/gradoop
  • gradoop源代码文档
  • gradoop源代码下载
  • Git URL:
    git://www.github.com/dbs-leipzig/gradoop.git
  • Git Clone代码到本地:
    git clone http://www.github.com/dbs-leipzig/gradoop
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/dbs-leipzig/gradoop
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • Build Status

    Gradoop: Hadoop上的分布式图形分析

    模型通过逻辑图和逻辑图的集合,提供了扩展广泛的属性图模型的图形数据模型,并进一步提供了可以应用于单一逻辑图集合的运算符。 这些操作符的组合允许图形分析工作流的灵活的声明性定义。 Gelly,ML和表) 。

    Gradoop正在进行工作,这意味着api可能会改变。 它目前被用作概念实现的证明,并且远远不能满足生产准备。

    进一步信息( 文章和会谈)

    数据模型

    在扩展属性图模型( EPGM ) 中,数据库由多个属性图组成,这些属性图被称为逻辑图。 这些图描述了应用顶点和边的特定子集,换句话说,一个顶点或者边可以包含在多个逻辑图中。 此外,不仅顶点和边而且逻辑图具有类型标签,而且具有不同的属性。

    数据模型元素( 。逻辑图形,顶点和边) 具有唯一标识符,单个标签( 比如 。 用户) 和多个 key-value 属性( 比如 。 of = Alice ) 。没有任何架构,即每个元素都有任意数量的属性,即使它们具有相同的标签。

    图操作符

    EPGM为单个逻辑图以及逻辑图集合提供了操作符;操作符还可以返回单个图形或者图形集合。 下表包含了一个概述( GC = 图 Collection,G = 逻辑图) 。

    位逻辑图运算符( 一个图形作为输入): 操作员输出输出描述实现
    聚合G以聚合函数作为新属性的图形的图形是的
    匹配GC给定图 Pattern 匹配的图是的
    变换G带转换( 图形,顶点,边) 数据的图是的
    分组G输入图的结构压缩是的
    子图G满足给定顶点和边谓词的子图是的
    二进制逻辑图操作符( 两个图形作为输入): 操作员输出输出描述实现
    组合图G两个输入图中的顶点和边的图形是的
    重叠G两个输入图中存在顶点和边的图是的
    排除G仅存在于第一个图形中的顶点和边的图形是的
    相等{true, false}比较图的标识或者所包含元素的相等性是的
    VertexFusionG第二个图被融合到第一个图形中的单个顶点是的
    位图 Collection 运算符( 一个 Collection 作为输入): 操作员输出输出描述实现
    匹配GC给定图 Pattern 匹配的图是的
    选择GC基于它的附加数据的筛选图( 例如 。 标签,属性)是的
    DistinctGC没有重复图形的集合是的
    SortByGC集合按给定属性键的值排序不是
    限制GC输入集合中的第一个任意元素是的
    二进制图形 Collection 运算符( 。两个集合作为输入): 操作员输出输出描述实现
    并集GC来自输入集合的所有图形是的
    虚线GC只有两个集合中存在的图形是的
    差异GC仅存在于第一个集合中的图形是的
    相等{true, false}根据所包含元素的标识或者相等性比较集合是的
    辅助运算符:输出输出描述实现中的运算符
    应用GCGC对集合中的每个图应用一元运算符( 比如 。聚合)是的
    缩小GCG使用二元运算符( 比如 ) 将 Collection 缩减为单个图形。 合并)是的
    通话gc/ggc/g在图形或者图形集合中应用外部算法是的

    设置

    通过 Maven 使用 gradoop

    • 将以下依赖项添加到 Maven 项目中

    稳定:

    <dependency>
     <groupId>org.gradoop</groupId>
     <artifactId>gradoop-flink</artifactId>
     <version>0.3.2</version>
    </dependency>

    每日构建( 需要附加知识库)的最新版本:

    <repositories>
     <repository>
     <id>oss.sonatype.org-snapshot</id>
     <url>http://oss.sonatype.org/content/repositories/snapshots</url>
     <releases><enabled>false</enabled></releases>
     <snapshots><enabled>true</enabled></snapshots>
     </repository>
    </repositories>
    <dependency>
     <groupId>org.gradoop</groupId>
     <artifactId>gradoop-flink</artifactId>
     <version>0.3.3-SNAPSHOT</version>
    </dependency>

    从源代码生成 gradoop

    Gradoop模块

    gradoop通用

    gradoop

    用于读取和写入来自Apache的图形集合的输入和输出格式。

    gradoop抽象

    这里模块包含EPGM运算符的引用实现。 模块还包含通用图算法( 比如 )的实现。 适用于EPGM模型的标签传播,频繁子图挖掘。

    gradoop示例

    包含显示Gradoop用例的示例管道。

    • 图分组示例( 构建属性图的结构聚合)
    • 社交网络范例( 分析社交网络图的多个操作符组成)
    • 输入/输出示例( 数据源和DataSink实现的用法)
    • 用于群集评估的基准测试

    gradoop-checkstyle

    用于维护整个项目的代码样式。

    版本历史

    • 使用 Hadoop MapReduce和 Apache Giraph进行操作员处理的0.0.1 第一 Prototype
    • 0.0.2 支持分布式图形存储的HBase
    • 0.0.3 将MapReduce和Giraph替换为操作员实现层和分布式执行引擎
    • 0.1 对内部EPGM表示的主要重构( 比如 。 ID和属性处理),相等运算符,基于gdl的单元测试
    • 0.2.0 Pattern 匹配和频繁子图挖掘
    • 0.3.1 Bug 修复和支持更多的Gelly算法

    免责声明



    文章标签:Apache  分布式  flink  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语