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
也就是清空实例中所有的数据,GDB
在删除点时也会删除相应的边
python GdbDataRemover.py --host ${gdb_end_point} --port ${gdb_port} --username ${gdb_user} --password ${gdb_pwd}
python GdbDataRemover.py --host ${gdb_end_point} --port ${gdb_port} --username ${gdb_user} --password ${gdb_pwd} --label player --threadCnt 32
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。
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。
工具发送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