Skip to content

Latest commit

 

History

History
111 lines (70 loc) · 3.52 KB

README.cn.md

File metadata and controls

111 lines (70 loc) · 3.52 KB

阿里云图数据库GDB工具

English Version of README

GdbDataRemover

依赖安装

GdbDataRemover 依赖以下组件:

  • gremlinpython
  • argparse
  • futures

执行下面的命令可以安装这些组件:

pip install -r requirements.txt --user

简介

GDB是支持事务的图数据库,单DSL中涉及的所有操作都会在同一个事务中完成。如果GDB实例中数据较多,简单地运行g.V().drop()会先删边在删除点。

GdbDataRemover 支持以下4种场景:

  • 删除GDB中所有的点(包括对应的边)
  • 删除GDB中指定Label的点(包括对应的边)
  • 删除GDB中所有的边
  • 删除GDB中指定Label的边
  • 删除GDB中指定的点id列表
  • 删除GDB中指定的边id列表

工具在删除数据时,会循环地发送请求,每个请求操作的元素个数在用户指定的限定之内(默认为500), 删除点逻辑为先批量删除关联表在批量删除点

注意下面的参数中:

  • gdb_end_point: 格式类似于gds-xxx.graphdb.rds.aliyuncs.com
  • gdb_port:如果是使用GDB的内网地址,端口为8182;如果是公网地址,端口是3734

GdbDataRemover

删除所有的点

也就是清空实例中所有的数据,GDB在删除点时也会删除相应的边

python GdbDataRemover.py --host ${gdb_end_point} --port ${gdb_port} --username ${gdb_user} --password ${gdb_pwd}

删除所有Labelplayer的点,32线程并发

python GdbDataRemover.py --host ${gdb_end_point} --port ${gdb_port} --username ${gdb_user} --password ${gdb_pwd} --label player --threadCnt 32

根据输入文件里的ID批量删除点,128个一批

python GdbDataRemover.py --host ${gdb_end_point} --port ${gdb_port} --username ${gdb_user} --password ${gdb_pwd} --threadCnt 32 --batch 128 input1.txt [input2.txt]

输入文件input1.txt里包含点ID列表,每行一个ID。

根据输入文件里的ID批量删除边,128个一批

python GdbDataRemover.py --host ${gdb_end_point} --port ${gdb_port} --username ${gdb_user} --password ${gdb_pwd} --threadCnt 32 --edge --batch 128 input1.txt [input2.txt]

输入文件input1.txt里包含边ID列表,每行一个ID。

GdbLoader

工具发送GDB的导入请求,导入用户OSS数据到GDB实例,主要包括以下请求:

  • 添加一个导入任务,导入OSS上CSV文件数据到GDB
  • 获取GDB实例的导入任务列表
  • 查询导入任务的详细信息,包括导入数据统计、错误信息等
  • 删除一个导入任务,如果要求删除的任务正在运行,会先终止任务再删除

GdbLoader是GDB数据导入接口的简单封装,你可以作为参考集成到自己的项目中。

添加导入任务

python GdbLoader.py --host ${gdb_end_point} --username ${gdb_user} --password ${gdb_pwd} --todo add_task --source ${source} --arn ${ramRoleArn}

# or

python GdbLoader.py --host ${gdb_end_point} --username ${gdb_user} --password ${gdb_pwd} --todo add_task --source ${source} --ak ${accessKey} --sk ${secretKey}

查询导入任务

python GdbLoader.py --host ${gdb_end_point} --username ${gdb_user} --password ${gdb_pwd} --todo get_task --loaderId ${uuid}

删除导入任务

python GdbLoader.py --host ${gdb_end_point} --username ${gdb_user} --password ${gdb_pwd} --todo delete_task --loaderId ${uuid}

导入任务列表

python GdbLoader.py --host ${gdb_end_point} --username ${gdb_user} --password ${gdb_pwd} --todo list_task