本文介绍使用GdbLoader脚本将数据文件从对象存储OSS的Bucket中导入至图数据库GDB实例、查看导入任务和取消导入任务的方法。

前提条件

操作步骤

  1. 在客户端下载并安装GdbLoader.py工具。
    1. 执行如下命令,下载图数据库GDB工具包。
      wget https://github.com/aliyun/alibabacloud-gdb-tools/archive/refs/heads/master.zip
    2. 执行如下命令,解压图数据库GDB工具包。
      unzip master.zip
  2. 执行如下命令,添加导入任务。
    • 添加导入点文件任务
      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"
      }
    }
  3. 根据导入任务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