在Titan 1.0上批量移除边缘

时间:2016-02-20 18:36:24

标签: titan tinkerpop3

我有一长串边缘ID(约120亿),我愿意从我的Titan图表中删除它(在HBase后端托管)。

如何快速有效地完成这项工作?

我尝试通过Gremlin移除边缘,但这对于那么多边缘来说太慢了。

是否可以直接在HBase上执行删除命令?我该怎么做? (如何组合要删除的密钥?)

由于

1 个答案:

答案 0 :(得分:1)

经过两天的研究,我想出了一个解决方案。

主要目的 - 给定一个非常大的字符串Employee<Google> e = Google.Developer.builder("John").age(30).build(); 集合,实现从图中删除它们的逻辑 - 实现必须支持删除数十亿条边,因此它必须在内存和时间方面有效。

Titan的直接使用被取消资格,因为Titan执行了许多不必要的实例化,这些实例化是多余的 - 通常,我们不想加载边缘,我们只想将它们从HBase中删除。

edgeIds

请记住,我不考虑系统类型等等 - 我假设给定的边缘ID是用户边缘。

使用此实现,我能够在 2分钟中删除 2000万边缘。