GdbDataRemover
依赖以下组件:
- gremlinpython
- argparse
- futures
执行下面的命令可以安装这些组件:
pip install -r requirements.txt --user
GDB
是支持事务的图数据库,单DSL中涉及的所有操作都会在同一个事务中完成。如果GDB
实例中数据较多,简单地运行g.V().drop()
会因为事务缓冲区大小的限制而失败。
GdbDataRemover
支持以下4种场景:
- 删除
GDB
中所有的点(包括对应的边) - 删除
GDB
中指定Label
的点(包括对应的边) - 删除
GDB
中所有的边 - 删除
GDB
中指定Label
的边
工具在删除数据时,会循环地发送请求,每个请求操作的元素个数在用户指定的限定之内(默认为500
)。
也就是清空实例中所有的数据,GDB
在删除点时也会删除相应的边
python GdbDataRemover.py --host ${gdb_end_point} --username ${gdb_user} --password ${gdb_pwd}
python GdbDataRemover.py --host ${gdb_end_point} --username ${gdb_user} --password ${gdb_pwd} --label player
python GdbDataRemover.py --host ${gdb_end_point} --username ${gdb_user} --password ${gdb_pwd} --edge
python GdbDataRemover.py --host ${gdb_end_point} --username ${gdb_user} --password ${gdb_pwd} --edge --label knows
工具发送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