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

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: TuGraph Analytics提供了OLAP图分析能力,实现图上的交互式查询,用户在构图并导入数据之后,可以通过输入GQL语句对图查询分析,并以可视化的方式直观地展示点边结果。

作者:廖梵抒

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

OLAP架构

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两种方式。

组件间执行流程如下:
OLAP流程

操作指南

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', 20
UNION ALL
SELECT 2, 'kate', 22
UNION ALL
SELECT 3, 'tom', 24;

INSERT INTO dy_modern.software(id, name, lang)
SELECT 4, 'software1', 'java'
UNION ALL
SELECT 5, 'software2', 'java';

INSERT INTO dy_modern.knows
SELECT 1,2,2
UNION ALL
SELECT 1,3,3
UNION ALL
SELECT 3,2,3;

INSERT INTO dy_modern.creates
SELECT 2,4,6
UNION ALL
SELECT 3,5,8
UNION ALL
SELECT 3,4,8;

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

Worker数配置

3. 创建查询服务

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

创建查询服务

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

4. 执行查询

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

进入图查询

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

执行图查询

5. 图可视化

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

点边视图

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

JSON视图

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

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

相关文章
|
数据可视化 JavaScript 前端开发
[Python可视化]一种极具特色(但是并没有什么用)的GIS专题图可视化方法
[Python可视化]一种极具特色(但是并没有什么用)的GIS专题图可视化方法
96 0
|
6月前
|
数据可视化 SDN Python
广义曼德勃罗特集的探索与交互式可视化
这篇文章介绍了如何使用Python和matplotlib库创建广义曼德勃罗特集的交互式可视化。作者探讨了曼德勃罗特集的基本概念,包括其自相似性和复杂边界,并扩展到广义集合,其中幂运算指数可以是任意复数。通过提供的Python代码示例,读者可以学习如何绘制并实现鼠标驱动的放大缩小功能,从而深入探索这个数学结构的细节。文章鼓励读者修改指数以观察不同形态,并提供了相关参考资料链接。
|
Web App开发 数据可视化 前端开发
前端数据可视化插件(四)关系图
前端数据可视化插件(四)关系图
前端数据可视化插件(四)关系图
|
7月前
|
数据可视化 算法 数据挖掘
R如何与Tableau集成分步指南
R如何与Tableau集成分步指南
|
7月前
|
数据可视化 数据处理
Tableau可视化设计案例-02Tableau数据处理、折线图
Tableau可视化设计案例-02Tableau数据处理、折线图
Tableau可视化设计案例-02Tableau数据处理、折线图
|
7月前
|
监控 前端开发 Java
TuGraph Analytics作业监控面板:运行时组件上的高效分析工具
我们在作业进程中内置了一个Dashboard(本地启动/容器启动时自动生效),包括前端页面和后端server,用户可以不需要感知到它们的存在。通过访问Dashboard,用户可以更方便地通过白屏化的方式查看作业的执行进度、组件列表和详情、任意组件内部的指标、日志等。还可以通过Profiler工具对进程状态进行分析,快速定位问题。
|
7月前
|
数据可视化
Tableau可视化设计案例-04标靶图、甘特图、瀑布图
Tableau可视化设计案例-04标靶图、甘特图、瀑布图
|
算法 图计算
TuGraph Analytics图计算快速上手之K-core算法
K-Core算法是一种用来在图中找出符合指定核心度的紧密关联的子图结构,在K-Core的结果子图中,每个顶点至少具有k的度数,且所有顶点都至少与该子图中的 k 个其他节点相连。K-Core通常用来对一个图进行子图划分,通过去除不重要的顶点,将符合逾期的子图暴露出来进行进一步分析。K-Core图算法常用来识别和提取图中的紧密连通群组,因具有较低的时间复杂度(线性)及较好的直观可解释性,广泛应用于金融风控、社交网络和生物学等研究领域。
|
数据采集 自然语言处理 数据可视化
数据分析实例-获取某宝评论数据做词云图可视化
数据分析实例-获取某宝评论数据做词云图可视化
421 0
数据分析实例-获取某宝评论数据做词云图可视化
|
移动开发 数据可视化 JavaScript
从零设计可视化大屏搭建引擎
几个月前我写了一篇关于从零开发一款可视化大屏制作平台 的文章, 简单概述了一下可视化大屏搭建平台的一些设计思路和效果演示, 这篇文章我会就 如何设计可视化大屏搭建引擎 这一主题, 详细介绍一下实现原理。
418 0