本文来源:支付宝体验科技公众号
GraphScope 已成为图可视化与分析平台 G6VP[1] 的后端引擎,本篇文章主要介绍如何部署 G6VP 与 GraphScope 并进行数据分析。
什么是 G6VP
G6VP 是由蚂蚁集团 AntV 图可视化小组开源的图可视化与分析平台。用户可以在 G6VP 中连接自己的数据,包括本地文件上传,或多种图数据库,并组装 G6VP 提供的丰富图可视化与分析资产,进行数据分析,或设计和开发出自己的图可视分析产品,嵌入到自己的系统当中。
G6VP 与 GraphScope 的部署
目前,G6VP 支持了 GraphScope 作为后端服务。由于 G6VP 没有可用的在线服务器,因此与 GraphScope 引擎和服务的集成部署需要基于 Docker 镜像。当前 G6VP 仅支持 GraphScope 中持久化图存储(Groot)和交互式查询引擎(GIE)的联合部署模式,后续会持续完成 GraphScope 中分析式计算引擎(GAE)等的对接,提供一站式高效的解决方案。
镜像部署
在这一步骤中,我们需要通过 Docker 部署 GraphScope 服务,并启动 G6VP HTTP 服务,需要注意的是,两个服务所在的机器网络需要相通。
首先需要拉取并启动镜像:
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-store:httpserver # 启动镜像,过程中需要映射端口以保证后续的查询服务可用 # 12312: gremlin 查询端口 # 9527: http 服务端口 docker run -d -p 12312:12312 -p 9527:9527 registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-store:httpserver
GraphScope 持久化存储容器启动成功后,会载入默认的数据集,如果你想导入自己的数据集,可参考 Groot 文档[2]。用户可以执行如下命令,检测容器是否正常运行:
// 注意服务器运行容器时,替换 localhost 地址为服务器 IP curl http://localhost:9527/api/v1/graph
部署成功后,得到 GraphScope 引擎地址为 http://localhost:9527,在后面的「G6VP 接入 GraphScope 服务」步骤中将使用到。
启动 G6VP 代理服务
目前有两种方式来启动 G6VP 的代理服务:
- 使用二进制安装包直接启动
访问 G6VP 开源仓库,下载 gi-httpservices.tgz 文件[3]并解压,然后进入文件夹启动服务,在此之前请先确保本机电脑有 NodeJS 环境。
cd gi-httpservice # make sure port 7001 is available lsof -i:7001 npm run start
- 从源代码安装启动
在克隆 G6VP 代码后,进入 G6VP/packages/gi-httpservice 文件夹,并安装依赖,最后启动 httpservice:
git clone https://github.com/antvis/G6VP.git cd G6VP/packages/gi-httpservice npm install npm run dev
此时,G6VP HTTP 服务启动完成,访问 http://localhost:7001/,(默认端口 7001),可以在控制台看到下面提示:
G6VP 接入 GraphScope 服务
连接 GraphScope 服务,首先需要填写上面步骤中得到的平台地址和引擎地址:
- 平台地址:G6VP HTTP 服务地址,上文为 http://localhost:7001
- 引擎地址:GraphScope 服务地址,上文为 http://localhost:9527
点击「开始连接」,若成功连接,右上方将出现下图提示,下方将出现「选择子图」 panel:
「选择子图」的下拉框中列举了该 GraphScope 服务中的所有子图名称,选择其中一个,然后在「数据名称」中为当前创建的 G6VP 数据集起一个名字,例子中起名为 “crew_graph”。再点击「进入分析」,即可创建数据集成功,页面将跳转到「数据集」模块,您将在数据集列表中看到刚刚创建的名为 “crew_graph” G6VP 数据集:
点击对应数据集右侧的电脑 icon,即使用该数据集创建工作簿,此时,页面跳转到新建工作簿页面,数据集和模版已为您填充好,在「工作簿名称」输入框为该工作簿起一个名称,然后点击「创建画布」,即可进入工作簿。
点击「创建画布」后,您将看到一个空白的画布,以及左侧的配置面板:
利用 G6VP 和 GraphScope 分析数据
经过上述步骤,我们已经完成了 GraphScope 的连接和数据、工作簿的创建,然后就可以在刚刚新建的工作簿中进行数据分析了。在工作簿中配置 Gremlin 查询资产,输入 Gremlin 查询语句,例如下图中的 g.V().limit(10),即可成功查询到数据:
如果目前节点和边的样式不符合您的要求,可以在「样式」中进行配置:
选择一个或多个节点,在节点的右键菜单中,选择「一度扩展」,进行该节点的邻居查询:
如果这个邻居扩散资产不符合需求,可以在左侧面板进行配置:
此外,用户可以使用过滤取来分析统计数据,我们提供了过滤器的智能推荐:
上面仅仅介绍了最为基础的功能,还有大量超酷的图分析资产可以在资产中心找到。
最后,别忘了保存刚刚配置完成的工作簿,下次进入 G6VP,就可以在工作簿列表中找到这个工作簿了。所有的数据信息、工作簿配置信息都存储在用户的电脑本地缓存,G6VP 不会获取任何用户数据信息。
如果您想将这个工作簿嵌入到您的系统当中,可以点击右上角的「开放」,有三种方式可以导出:
更多的用法和文档可以访问 G6VP 官方文档[4],如果有任何问题,都可以到 G6VP 的 GitHub [5]中提 issue。
结语
通过 G6VP 与 GraphScope 的联合部署,用户可以很简单地管理、创建图数据,并利用 GraphScope 的强大能力,执行各种图计算任务。未来 GraphScope 的更多计算引擎将与 G6VP 进行集成,尽情期待!感兴趣的读者可以点击【阅读原文】进入 G6VP 官方网站,访问更多内容。
参考资料
[1]G6VP: https://insight.antv.antgroup.com/
[2]Groot 文档: https://graphscope.io/docs/latest/storage_engine/groot
[3]gi-httpservices.tgz 文件: https://github.com/antvis/G6VP/blob/master/release/gi-httpservice.tgz
[4]G6VP 官方文档: https://www.yuque.com/antv/gi
[5]G6VP 的 GitHub : https://github.com/antvis/g6vp