【问题标题】:AWS Neptune bulk delete dataAWS Neptune 批量删除数据
【发布时间】:2020-06-21 13:06:33
【问题描述】:

我想批量删除节点,就像我们在 AWS Neptune 中使用 curl 操作批量加载数据一样。像我在 SPARQL 中看到的那样,是否有针对 gremlin 的 API 约定?如果是这样,您可以发布参考吗?

如果没有通过 API 进行批量删除,那么使用 gremlin python sdk 批量删除的可行性如何?

【问题讨论】:

    标签: gremlin amazon-neptune


    【解决方案1】:

    这里有一个示例,说明如何使用多线程 Python 删除图形。可以进一步改进代码以处理非常大的图形。这在 cmets 中进行了讨论。我已经使用此代码成功删除了具有 20+ 百万个顶点的图形。

    https://github.com/awslabs/amazon-neptune-tools/tree/master/drop-graph

    2021 年 11 月 17 日编辑 如果您想删除所有内容,Amazon Neptune 现在提供了一个“快速重置”API,让您可以高效地删除集群中的所有数据。

    https://docs.aws.amazon.com/neptune/latest/userguide/manage-console-fast-reset.html

    【讨论】:

    • 谢谢开尔文。关于批量更新节点的类似问题。有没有办法更新已经存在的节点和边的参数?
    • 对于批量更新(现有顶点属性)和批量添加(新顶点),您很可能可以使用 Neptune Bulk Loader docs.aws.amazon.com/neptune/latest/userguide/bulk-load.html 如果不满足您的需求,您可以编写一个多线程更新程序/脚本,但我会先看看 Bulk Loader 是否可以满足您的需求。
    【解决方案2】:

    我们可以将顶点内的一批元素作为参数传递,如下所示:

    vertex_ids = ['f1b8','e5123','02d49','50804',c71c3','c1061577']
    g.V(vertex_ids).drop().iterate()
    

    我采用 10k vertex_ids 的批量大小。对我来说效果很好。

    【讨论】:

    • 这基本上就是另一个答案中引用的 Python 代码的作用。请注意,要删除整个 Neptune 图,现在还有一个可用的 REST API 可以做到这一点。
    猜你喜欢
    • 2019-05-13
    • 2022-01-17
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2022-07-19
    相关资源
    最近更新 更多