本文将展示如何使用嬴图Manager、嬴图Transporter-Exporter将数据从嬴图数据库中导出。
使用嬴图Manager导出
嬴图Manager一次可以导出多个点文件,或多个边文件。
嬴图Manager导出的文件名带有Schema信息,例如导出点Schema movie,则文件名为movie_nodes.csv;导出的文件为CSV格式,使用英文逗号,
作为列分隔符,表头列名为属性名,例如:
![](https://img.ultipa.cn/2022-07-03-14-35-55-manager-output-file.png)
- 导出单个点文件
![](https://img.ultipa.cn/img/2024-02-20-10-41-39-export-one-node-file.gif)
limit值为-1表示导出所选Schema的全部数据,也可以设置一个整数用来限制数据条数;未选中的属性不会被导出,即嬴图Manager不会自动导出点/边的系统属性。
- 导出多个点文件
![](https://img.ultipa.cn/img/2024-02-20-10-57-48-export-multiple-node-files.gif)
同时导出多个文件(Schema)时,不支持为每个Schema选择属性,而是自动导出每个Schema的所有属性。个别浏览器可能会出现询问“是否允许同时下载多个文件”的弹窗,需要允许后才能下载多个文件。
导出边文件的方法与导出点文件类似,要选择Export Edges,导出边文件时需要导出边的起止点
_from
、_to
(或_from_uuid
、_to_uuid
)才有意义。
使用嬴图Transporter导出
与嬴图Manager不同,嬴图Transporter可以同时导出点、边文件,而不需要分别导出点文件、边文件。
嬴图Transporter导出的文件与嬴图Manager稍有不同,例如导出点Schema movie,则文件名为movie.node.csv;表头(如选择生成)中的列名为“<属性名>:<数据类型>”,例如:
![](https://img.ultipa.cn/2022-07-03-14-35-59-transporter-output-file.png)
使用嬴图Transporter的导出工具Exporter进行数据导出时,同样需要一个YML格式的配置文件。该文件包含服务器的连接信息、目标图集的名称、待导出的Schema及其属性、是否导出表头等。
YML配置文件有四部分内容:
- 第一部分 服务器信息
server:
host: "192.168.1.85:64001"
username: "root"
password: "root"
graphset: "miniCircle"
crt: ""
服务器连接信息host
、username
、password
由数据库管理员提供;graphset
是待导出数据所在的图集;未使用TLS通讯时可以不填写crt
。
- 第二部分 导出点信息
nodeConfig:
- schema: "movie"
properties:
- name: name
- name: year
- schema: "country"
properties:
- name: name
导出点/边时只需声明自定义属性;点/边的系统属性_id
、_uuid
、_from
、_to
、_from_uuid
、_to_uuid
会自动导出,无需声明。
- 第三部分 导出边信息
edgeConfig:
- schema: "filmedIn"
仅导出系统属性、不导出任何自定义属性时,无需声明
properties
项;如需导出边的全部Schema的全部属性,可将Schema声明为"*"
,点的操作同理,详见嬴图Transporter手册。
- 第四部分 全局信息
settings:
writeHeader: true
writeHeader
为true时,导出的文件含有表头。
将以上四部分内容保存至配置文件export_miniCircle.yml中,将其与嬴图Transporter的导出工具ultipa-exporter放在同一个目录下,在该目录下打开命令行工具(以右键Powershell为例)执行以下命令:
./ultipa-exporter --config ./export_miniCircle.yml
![](https://img.ultipa.cn/img/2023-02-27-18-19-03-transporter-export-rev.gif)
执行命令行时如果提示
bash: ./ultipa-exporter: Permission denied
则表示没有相关的执行权限,可以先执行chmod +x ultipa-exporter
获得权限后再执行ultipa-exporter
的命令。