概述
GeaFlow Console平台提供了图数据研发能力,包括了对点、边、图、表、函数、任务的管理功能, 为了让用户更好的管理元数据信息,同时也便于用户对图计算进一步地了解。通过对这些研发资源的管理,用户可以方便地、白屏化地创建、修改、删除这些元数据,也可以很方便地查看当前租户下所拥有的数据资产概览及详情,从而更多关注于业务逻辑的实现。
图数据研发介绍
基本概念
- 点(GeaflowVertex):表示一个对象或实体、包含了点id,标签和属性。
- 边(GeaflowEdge):表示对象之间的关系,连接点和点,包含源点id,目标点id,标签,时间戳和属性。
- 图(GeaflowGraph):表示对象之间关联关系的一种抽象数据结构,由若干个点和若干边组成。
- 表(GeaflowTable): 是有结构的数据的集,由行和列组成,每列为字段,有相应的类型和约束条件,每行为一条具体数据。
- 函数(GeaflowFunction): 用户自定义的方法,可在dsl作业中使用。
- 图拓扑(GeaflowEndpoint): 逻辑概念,为一个三元组<edgeId, srcId, targetId>, 表示在一个图中,一个边的起点和目标点的约束关系。
- 任务(GeaflowJob): 研发时对计算逻辑的描述,用户通过编辑任务实现业务逻辑,目前支持dsl和高阶两种方式进行任务研发:
- dsl任务(GeaflowCodeJob): 通过编写dsl代码运行。
- 高阶任务(GeaflowApiJob): 通过api的方式,使用jar包运行。
- 作业(GeaflowTask): 由任务经过发布流程生成,最终提交运行。一旦构建,不可修改作业元信息(例如作业的dsl代码或jar包)。
模型结构
点&边&图&表&函数

Geaflow将所有研发资源进行了结构化的模型设计,从模型图中,可以看到vertex,edge,table都继承自GeaflowStruct,GeaflowStruct中包含一个GeaflowField列表,其中GeaflowField代表了字段,包含类型(Long,String,Boolean等)和约束条件(点id,属性,边源点id,边目标点id等)。在图中,包含了点、边以及Endpoint的列表,描述了实体之间的关联信息。
图和表关联了GeaflowPluginConfig,这是插件配置,表示图表的来源或输出配置,例如odps,sls,oss等。
函数中主要包含一个jar包对象和主类,以标识函数的入口。
任务&作业

GeaflowJob为所有任务类型的父类,其中的structs、graphs、functions字段记录了这个任务所使用的图、表、函数,方便用户了解作业关联的一些元信息。任务根据使用途径还可分为以下几种类型:
- GeaflowProcessJob: 加工任务,用户编写dsl代码实现构图或图计算逻辑, 例如环形计数。
- GeaflowIntegrationJob: 集成任务,可以根据数据源表自动生成代码,导入到图中。
- GeaflowCustomJob: 自定义任务, 用户通过编写高阶api代码,实现图计算逻辑,例如实现PageRank, SSSP等算法。
- GeaflowStatisticJob: 统计任务,用于统计图的信息,例如点边个数。
- GeaflowServerJob: 查询任务,用于olap服务,执行图查询。
任务(GeaflowJob)和作业(GeaflowTask)通过发布包(GeaflowRelease)进行关联,任务为研发时的描述,作业为运行时的描述,用户可以对任务进行发布,
419



被折叠的 条评论
为什么被折叠?



