我有一长串边缘ID(约120亿),我愿意从我的Titan图表中删除它(在HBase后端托管)。
如何快速有效地完成这项工作?
我尝试通过Gremlin移除边缘,但这对于那么多边缘来说太慢了。
是否可以直接在HBase上执行删除命令?我该怎么做? (如何组合要删除的密钥?)
由于
答案 0 :(得分:1)
经过两天的研究,我想出了一个解决方案。
主要目的 - 给定一个非常大的字符串Employee<Google> e = Google.Developer.builder("John").age(30).build();
集合,实现从图中删除它们的逻辑 -
实现必须支持删除数十亿条边,因此它必须在内存和时间方面有效。
Titan的直接使用被取消资格,因为Titan执行了许多不必要的实例化,这些实例化是多余的 - 通常,我们不想加载边缘,我们只想将它们从HBase中删除。
edgeIds
请记住,我不考虑系统类型等等 - 我假设给定的边缘ID是用户边缘。
使用此实现,我能够在 2分钟中删除 2000万边缘。