TuGraph Analytics 交互式图查询:让图所见即所得
![TuGraph Analytics交互式图查询:让图所见即所得](https://static001.geekbang.org/infoq/c6/c6a72957d96f555f870733e855a2c9a2.jpeg)
作者:廖梵抒
TuGraph Analytics 提供了 OLAP 图分析能力,实现图上的交互式查询,用户在构图并导入数据之后,可以通过输入 GQL 语句对图查询分析,并以可视化的方式直观地展示点边结果。
OLAP 架构
![](https://static001.geekbang.org/infoq/e7/e718423dfafcefcc4dfe1768b2b41231.png)
在 TuGraph Analytics OLAP 架构中,主要以下组件:
Client: 用户通过 Client 提交查询语句, Client 负责和 Coordinator 交互,发送查询请求。
Coordinator: 接收来自 Client 查询请求,将查询中的 GQL 语句进行解析、优化,构建查询的执行计划(执行计划的生成逻辑可参考《分布式图计算如何实现?带你一窥图计算执行计划》),并将任务调度给 Woker 执行。
Worker:具体分布式地执行任务的单元,接收到 Coordinator 发送的 Pipeline,执行具体的计算和查询逻辑。
Meta Service: 服务注册管理,Coordinator 启动后,会将服务的地址和端口向 MetaService 进行注册,Client 提交查询时从 MetaService 获取 Coordinator 的服务地址,进行连接。目前支持 http 和 rpc 两种方式。
组件间执行流程如下:
![](https://static001.geekbang.org/infoq/a1/a11247a73f56f309e442abcbbb8cff68.png)
操作指南
1. 定义图模型
以下图为例,图中有 2 种点 person 和 software,以及 2 种边 knows 和 creates。
![](https://static001.geekbang.org/infoq/ab/ab0a04de9c0eeb8bb2d83a26342a612f.jpeg?x-oss-process=image%2Fresize%2Cp_80%2Fauto-orient%2C1)
图模型定义可参考《TuGraph Analytics图建模研发:为图计算业务提速增效》,图定义语法为:
2. 准备图数据
创建“加工”类型图任务,发布生成图作业。
图作业需要的 worker 数为 23,在作业界面将参数进行修改,之后提交作业运行。
![](https://static001.geekbang.org/infoq/1a/1ad893aaa7089a74e0bdb60f6e5c79bb.png)
3. 创建查询服务
创建图查询服务, 任务类型选择“图查询”,目标图选择刚才创建的图。
![](https://static001.geekbang.org/infoq/13/1346197f50fdf9f22b7fcb71bcd5fbda.png)
发布任务后,使用默认参数即可,提交作业。
4. 执行查询
图查询服务的作业变成 RUNNING 状态后,可在任务界面点击“查询”进入图查询界面
![](https://static001.geekbang.org/infoq/52/52780c554189b9f66c125345af7fbc1c.png)
输入相应的 gql 查询语句,点击“执行”,即可得到查询结果。
![](https://static001.geekbang.org/infoq/2f/2f793009d0d38609a0eaa43991faf4c9.png)
5. 图可视化
点击某个点,可以查看点关联的具体信息和属性,以及关联的其他点边。
![](https://static001.geekbang.org/infoq/2f/2fcf1b6e8154f86709487f24d6b25f37.png)
除了可视化的方式,也可以 json 形式看到返回的结果。
![](https://static001.geekbang.org/infoq/a1/a1931def9a04e08253760ba01ee8559d.png)
至此,我们就成功使用 TuGraph Analytics 实现了图上的交互式查询!是不是超简单!快来试一试吧!
欢迎关注我们的 GitHub 仓库: 👉 https://github.com/TuGraph-family/tugraph-analytics
评论