代码之家  ›  专栏  ›  技术社区  ›  VivienG

使用pythongremlin删除AWS Neptune上的所有边

  •  2
  • VivienG  · 技术社区  · 8 年前

    我使用的是GremlinPython3.3.2版和AWS NEPTUNE。
    我尝试删除所有边(也尝试了顶点),但每次都失败了。
    g.E().drop().iterate()
    给我:

    gremlin\u python。驾驶员协议GremlinServerError:597:异常 应请求处理脚本[请求消息{, requestId=ae49cbb7-e034-4e56-ac76-b62310f753c2,op='bytecode', processor='traversal',args={gremlin=[],[V(),drop()], 别名={g=g}}}}}]。

    是否有人已经成功删除AWS Neptune中图形的所有顶点/边?

    编辑: 删除特定ID可以:
    g.E(id).drop().iterate()

    编辑2:
    以下是使用gremlin控制台完成的回溯跟踪:

    小精灵>g、 E()。count()。下一个()

    ===>740839
    小精灵>g、 E()。drop()。迭代()
    在评估[请求消息{,请求ID=24c3d14c-c8be-4ed9-a297-3fd2b38ace9a,op='eval',>处理器=“”,args={gremlin=g.E().drop().iterate(),绑定={},batchSize=64}}期间,脚本内发生超时-请考虑增加超时
    键入“:help”或“:h”以获取帮助。
    是否显示堆栈跟踪?【yN】y
    组织。阿帕奇。修补匠。小精灵。jsr223。安慰RemoteException:在评估[请求消息{,>请求ID=24c3d14c-c8be-4ed9-a297-3fd2b38ace9a,op='eval',处理器=“”,参数={gremlin=g.E().drop().iterate(),绑定={},>batchSize=64}}期间,脚本内发生超时,请考虑增加超时
    位于组织。阿帕奇。修补匠。小精灵。安慰jsr223。DriverRemoteAcceptor。提交(DriverRemoteAcceptor.java:178)
    位于组织。阿帕奇。修补匠。小精灵。安慰GremlinGroovysh。执行(GremlinGroovysh.groovy:99)
    位于组织。科德豪斯。非常棒。工具。壳壳leftShift(Shell.groovy:122)
    位于组织。科德豪斯。非常棒。工具。壳ShellRunner。工作(ShellRunner。groovy:95)
    位于组织。科德豪斯。非常棒。工具。壳InteractiveShellRunner。超级2美元工作(InteractiveShellRunner.groovy)
    在太阳下。反映NativeMethodAccessorImpl。invoke0(本机方法)
    在太阳下。反映NativeMethodAccessorImpl。调用(NativeMethodAccessorImpl.java:62)
    在太阳下。反映DelegatingMethodAccessorImpl。调用(DelegatingMethodAccessorImpl.java:43)
    在java。lang.reflect。方法调用(Method.java:498)
    位于组织。科德豪斯。非常棒。反射CachedMethod。调用(CachedMethod.java:98)
    在groovy。lang.MetaMethod。doMethodInvoke(MetaMethod.java:325)
    在groovy。lang.MetaClassImpl。invokeMethod(MetaClassImpl.java:1225)
    位于组织。科德豪斯。非常棒。运行时。ScriptBytecodeAdapter。invokeMethodOnSuperN(ScriptBytecodeAdapter.java:145)
    位于组织。科德豪斯。非常棒。运行时。ScriptBytecodeAdapter。invokeMethodOnSuper0(ScriptBytecodeAdapter.java:165)
    位于组织。科德豪斯。非常棒。工具。壳InteractiveShellRunner。工作(InteractiveShellRunner.groovy:130)
    位于组织。科德豪斯。非常棒。工具。壳ShellRunner。run(ShellRunner.groovy:59)
    位于组织。科德豪斯。非常棒。工具。壳InteractiveShellRunner。超级2美元跑步(InteractiveShellRunner.groovy)
    在太阳下。反映NativeMethodAccessorImpl。invoke0(本机方法)
    在太阳下。反映NativeMethodAccessorImpl。调用(NativeMethodAccessorImpl.java:62)
    在太阳下。反映DelegatingMethodAccessorImpl。调用(DelegatingMethodAccessorImpl.java:43)
    在java。lang.reflect。方法调用(Method.java:498)
    位于组织。科德豪斯。非常棒。反射CachedMethod。调用(CachedMethod.java:98)
    在groovy。lang.MetaMethod。doMethodInvoke(MetaMethod.java:325)
    在groovy。lang.MetaClassImpl。invokeMethod(MetaClassImpl.java:1225)
    位于组织。科德豪斯。非常棒。运行时。ScriptBytecodeAdapter。invokeMethodOnSuperN(ScriptBytecodeAdapter.java:145)
    位于组织。科德豪斯。非常棒。运行时。ScriptBytecodeAdapter。invokeMethodOnSuper0(ScriptBytecodeAdapter.java:165)
    位于组织。科德豪斯。非常棒。工具。壳InteractiveShellRunner。运行(InteractiveShellRunner.groovy:89)
    位于组织。科德豪斯。非常棒。vmplugin。v7。INDY接口。selectMethod(IndyInterface.java:236)
    位于组织。阿帕奇。修补匠。小精灵。安慰安慰(控制台。groovy:146)
    位于组织。科德豪斯。非常棒。vmplugin。v7。INDY接口。selectMethod(IndyInterface.java:236)
    位于组织。阿帕奇。修补匠。小精灵。安慰安慰主(控制台。groovy:453)
    小精灵>

    我会说这是个超时问题,对吗?

    1 回复  |  直到 8 年前
        1
  •  2
  •   VivienG    8 年前

    好的,在与@StephenMallette就问题和AWS支持进行了一些交流之后,我终于找到了问题所在。
    由于它仍然是一个预览海王星仍然遭受一些小问题和 drop() 是一个。
    支持人员提供的一个解决方法是执行 drop() 通过并行连接分批进行:

    g、 V()。限制(1000)。drop()

    所以,即使有5分钟的超时和700.000条边,删除表现在也遇到了超时。
    我会在海王星释放后更新这个答案。