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

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 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

相关文章
|
10月前
|
存储 缓存 NoSQL
分布式系统架构8:分布式缓存
本文介绍了分布式缓存的理论知识及Redis集群的应用,探讨了AP与CP的区别,Redis作为AP系统具备高性能和高可用性但不保证强一致性。文章还讲解了透明多级缓存(TMC)的概念及其优缺点,并详细分析了memcached和Redis的分布式实现方案。此外,针对缓存穿透、击穿、雪崩和污染等常见问题提供了应对策略,强调了Cache Aside模式在解决数据一致性方面的作用。最后指出,面试中关于缓存的问题多围绕Redis展开,建议深入学习相关知识点。
715 8
|
6月前
|
JSON API 数据库
MassCMS With APIJSON最佳实践
APIJSON是一种基于JSON格式的API接口开发框架。它的目标是简化后端开发人员编写和维护接口的工作,同时提供灵活、高效、安全的接口访问方式。APIJSON通过解析请求的JSON参数,动态生成SQL语句,并自动执行数据库操作,将结果以JSON形式返回给客户端。
276 7
|
6月前
|
关系型数据库 MySQL 程序员
菜鸟之路day31一一MySQL之多表设计
本文由blue撰写于2025年5月9日,主要介绍了MySQL多表设计的三种关系:一对多、一对一和多对多。一对多通过在“多”的一方添加关联字段实现,如部门与员工的关系;一对一通常用于单表拆分,通过唯一外键关联,例如学生与学生证的关系;多对多则需创建中间表,包含两个外键分别关联两方主键,如学生与课程的关系。文中还提供了实际案例,包括分类表、菜品表、套餐表及它们之间的关联设计,详细展示了多表设计的应用场景与实现方法。
241 14
|
数据采集 分布式计算 大数据
Java语言在大数据处理中的应用
传统的大数据处理往往依赖于庞大的数据中心和高性能的服务器,然而随着大数据时代的到来,Java作为一种强大的编程语言正在被广泛应用于大数据处理领域。本文将探讨Java语言在大数据处理中的优势和应用,以及其在分布式计算、数据处理和系统集成等方面的重要作用。
486 24
|
机器学习/深度学习 存储 分布式计算
未来趋势:探索GraphRAG在大规模异构网络环境下的挑战与机遇
【10月更文挑战第11天】随着互联网和物联网技术的快速发展,数据不仅数量庞大,而且类型多样,形成了复杂的大规模异构网络。这些网络中包含了不同类型的节点(如文本、图像、视频等)以及它们之间的多种关系。如何有效地处理这种大规模异构网络,以便进行内容理解与生成,是当前研究的一个热点问题。Graph Retrieval-Augmented Generation (GraphRAG) 框架作为一种新兴的方法,在这一领域展现出了巨大的潜力。本文将深入探讨GraphRAG的基础理论、构建方法,并分析其在未来大规模异构网络环境下的挑战与机遇。
810 3
|
机器学习/深度学习 算法 Java
深入解读TuGraph计算引擎模型推理系统
TuGraph计算引擎模型推理系统将基于迭代计算的图计算框架与模型推理系统相结合,推理系统可自定义推理依赖环境,图迭代计算与推理链路实现隔离。基于共享内存的跨进程通信方式,提高了推理数据交换效率,满足流图近线推理的时效性。
深入解读TuGraph计算引擎模型推理系统
|
SQL 自然语言处理 NoSQL
ChatTuGraph:通过大模型“与图对话”
相比于SQL相对成熟的语法标准,图查询语言尚未形成成熟的统一标准,目前是多种查询语法并存的状态,上手门槛高,因此更需要借助大语言模型的自然语言理解能力,降低图数据库查询语言的使用门槛。
ChatTuGraph:通过大模型“与图对话”
|
存储 前端开发 安全
盲盒app游戏系统开发参考版/需求分析/规则玩法
开发盲盒App游戏系统的流程和细节可能因具体需求和技术实现而有所不同。以下是一般性的开发流程和相关细节,供您参考:
|
Java 自动驾驶 小程序
JAVA的AQS是否了解,它是干嘛的?
JAVA的AQS是否了解,它是干嘛的?
5406 0
JAVA的AQS是否了解,它是干嘛的?
|
负载均衡 Dubbo 前端开发
从原理到操作,让你在 Apache APISIX 中代理 Dubbo3 服务更便捷
本文为大家介绍了如何借助 Apache APISIX 实现 Dubbo Service 的代理,通过引入 dubbo-proxy 插件便可为 Dubbo 框架的后端系统构建更简单更高效的流量链路。
1202 77
从原理到操作,让你在 Apache APISIX 中代理 Dubbo3 服务更便捷

热门文章

最新文章