本文介绍使用GdbLoader脚本将数据文件从对象存储OSS的Bucket中导入至图数据库GDB实例、查看导入任务和取消导入任务的方法。
前提条件
- 已创建目标图数据库GDB实例,创建方法请参见创建主实例。如果Bucket是在对象存储控制台创建,请确保图数据库GDB实例和Bucket在同一地域。
- 已将数据文件上传至Bucket中,上传方法请参见使用OSS控制台上传数据文件或使用ossutil工具上传数据文件。
- 已在客户端安装Python,具体请参见安装Python。
操作步骤
- 在客户端下载并安装GdbLoader.py工具。
- 执行如下命令,添加导入任务。
- 添加导入点文件任务
python GdbLoader.py --host <mygdb-endpoint> --port <port> --username <username> --password <password> --todo add_task --source oss://<bucket>/air-routes/<nodes.csv> --arn <arninfo>
<mygdb-endpoint>
:请替换为图数据库GDB实例的连接地址(内网地址或外网地址)。<port>
:请替换为图数据库GDB实例连接地址对应的端口号(内网端口或外网端口)<username>
:请替换为图数据库GDB实例的账号名称。<password>
:请替换为图数据库GDB实例的账号密码。<bucket>
:请替换为存储数据文件的Bucket的名称。<nodes.csv>
:请替换为需要导入的点文件的名称。<arninfo>
:请替换为您的阿里云账号中AliyunServiceRoleForGDB角色的ARN信息。
示例:python GdbLoader.py --host gds-bp1t4x427r15331915****.graphdb.rds.aliyuncs.com --port **** --username gdb_account --password ******** --todo add_task --source oss://examplebucket/air-routes/air-routes-latest-nodes.csv --arn acs:ram::140692647406****:role/aliyunserviceroleforgdb
- 添加导入边文件任务
python GdbLoader.py --host <mygdb-endpoint> --port <port> --username <username> --password <password> --todo add_task --source oss://<bucket>/air-routes/<edges.csv> --arn <arninfo>
<mygdb-endpoint>
:请替换为图数据库GDB实例的连接地址(内网地址或外网地址)。<port>
:请替换为图数据库GDB实例连接地址对应的端口号(内网端口或外网端口)<username>
:请替换为图数据库GDB实例的账号名称。<password>
:请替换为图数据库GDB实例的账号密码。<bucket>
:请替换为存储数据文件的Bucket的名称。<edges.csv>
:请替换为需要导入的边文件的名称。<arninfo>
:请替换为您的阿里云账号中AliyunServiceRoleForGDB角色的ARN信息。
示例:python GdbLoader.py --host gds-bp1t4x427r15331915****.graphdb.rds.aliyuncs.com --port **** --username gdb_account --password ******** --todo add_task --source oss://examplebucket/air-routes/air-routes-latest-edges.csv --arn acs:ram::140692647406****:role/aliyunserviceroleforgdb
回显如下类似信息,说明图数据库GDB导入程序检查参数正确,并返回导入任务ID(loadId
)。{ "status" : "200 OK", "payload" : { "loadId" : "552617AF-4F1E-4CD8-9533-A2EC154688DC" } }
- 添加导入点文件任务
- 根据导入任务ID,执行对应命令,查看导入任务状态或取消导入任务。
- 查看导入任务状态
python GdbLoader.py --host <mygdb-endpoint> --port <port> --username <username> --password <password> --todo get_task --loaderId <loadId>
<mygdb-endpoint>
:请替换为图数据库GDB实例的连接地址(内网地址或外网地址)。<port>
:请替换为图数据库GDB实例连接地址对应的端口号(内网端口或外网端口)<username>
:请替换为图数据库GDB实例的账号名称。<password>
:请替换为图数据库GDB实例的账号密码。<loadId>
:请替换为2中返回的导入任务ID。
示例:python GdbLoader.py --host gds-bp1t4x427r15331915****.graphdb.rds.aliyuncs.com --port **** --username gdb_account --password ******* --todo get_task --loaderId 552617AF-4F1E-4CD8-9533-A2EC154688DC
- 取消导入任务
- 取消正在后台执行的任务会阻塞等待任务停止再返回。
- 任务中已经导入至图数据库GDB实例的点数据或边数据不会回滚,将保留在图数据库GDB实例中。
python GdbLoader.py --host <mygdb-endpoint> --port <port> --username <username> --password <password> --todo delete_task --loaderId <loadId>
<mygdb-endpoint>
:请替换为图数据库GDB实例的连接地址(内网地址或外网地址)。<port>
:请替换为图数据库GDB实例连接地址对应的端口号(内网端口或外网端口)<username>
:请替换为图数据库GDB实例的账号名称。<password>
:请替换为图数据库GDB实例的账号密码。<loadId>
:请替换为2中返回的导入任务ID。
示例:python GdbLoader.py --host gds-bp1t4x427r15331915****.graphdb.rds.aliyuncs.com --port **** --username gdb_account --password ******* --todo delete_task --loaderId 552617AF-4F1E-4CD8-9533-A2EC154688DC
- 查看导入任务状态