写点什么

TuGraph Analytics 交互式图查询:让图所见即所得

  • 2024-01-03
    浙江
  • 本文字数:1254 字

    阅读完需:约 4 分钟

TuGraph Analytics交互式图查询:让图所见即所得

作者:廖梵抒


TuGraph Analytics 提供了 OLAP 图分析能力,实现图上的交互式查询,用户在构图并导入数据之后,可以通过输入 GQL 语句对图查询分析,并以可视化的方式直观地展示点边结果。

OLAP 架构


在 TuGraph Analytics OLAP 架构中,主要以下组件:


  1. Client: 用户通过 Client 提交查询语句, Client 负责和 Coordinator 交互,发送查询请求。

  2. Coordinator: 接收来自 Client 查询请求,将查询中的 GQL 语句进行解析、优化,构建查询的执行计划(执行计划的生成逻辑可参考《分布式图计算如何实现?带你一窥图计算执行计划》),并将任务调度给 Woker 执行。

  3. Worker:具体分布式地执行任务的单元,接收到 Coordinator 发送的 Pipeline,执行具体的计算和查询逻辑。

  4. Meta Service: 服务注册管理,Coordinator 启动后,会将服务的地址和端口向 MetaService 进行注册,Client 提交查询时从 MetaService 获取 Coordinator 的服务地址,进行连接。目前支持 http 和 rpc 两种方式。


组件间执行流程如下:


操作指南

1. 定义图模型

以下图为例,图中有 2 种点 person 和 software,以及 2 种边 knows 和 creates。



图模型定义可参考《TuGraph Analytics图建模研发:为图计算业务提速增效》,图定义语法为:


CREATE GRAPH dy_modern (  Vertex person (    id bigint ID,    name varchar,    age int  ),  Vertex software (    id bigint ID,    name varchar,    lang varchar  ),  Edge knows (    srcId bigint SOURCE ID,    targetId bigint DESTINATION ID,    weight int  ),  Edge creates (    srcId bigint SOURCE ID,    targetId bigint DESTINATION ID,    weight int  )) WITH (  storeType='rocksdb',  shardCount = 2);
复制代码

2. 准备图数据

创建“加工”类型图任务,发布生成图作业。


USE GRAPH dy_modern;
INSERT INTO dy_modern.person(id, name, age)SELECT 1, 'jim', 20UNION ALLSELECT 2, 'kate', 22UNION ALLSELECT 3, 'tom', 24;
INSERT INTO dy_modern.software(id, name, lang)SELECT 4, 'software1', 'java'UNION ALLSELECT 5, 'software2', 'java';
INSERT INTO dy_modern.knowsSELECT 1,2,2UNION ALLSELECT 1,3,3UNION ALLSELECT 3,2,3;
INSERT INTO dy_modern.createsSELECT 2,4,6UNION ALLSELECT 3,5,8UNION ALLSELECT 3,4,8;
复制代码


图作业需要的 worker 数为 23,在作业界面将参数进行修改,之后提交作业运行。


3. 创建查询服务

创建图查询服务, 任务类型选择“图查询”,目标图选择刚才创建的图。



发布任务后,使用默认参数即可,提交作业。

4. 执行查询

图查询服务的作业变成 RUNNING 状态后,可在任务界面点击“查询”进入图查询界面



输入相应的 gql 查询语句,点击“执行”,即可得到查询结果。


5. 图可视化

点击某个点,可以查看点关联的具体信息和属性,以及关联的其他点边。



除了可视化的方式,也可以 json 形式看到返回的结果。



至此,我们就成功使用 TuGraph Analytics 实现了图上的交互式查询!是不是超简单!快来试一试吧!


欢迎关注我们的 GitHub 仓库: 👉 https://github.com/TuGraph-family/tugraph-analytics

用户头像

欢迎访问:geaflow.github.io 2023-07-05 加入

TuGraphAnalytics是性能世界一流的OLAP图数据库。 github.com/TuGraph-family/tugraph-analytics

评论

发布
暂无评论
TuGraph Analytics交互式图查询:让图所见即所得_图分析_TuGraphAnalytics_InfoQ写作社区