【问题标题】:Alphanumeric sorting in GremlinGremlin 中的字母数字排序
【发布时间】:2021-01-18 15:15:03
【问题描述】:

我有一个数据库,并且正在尝试找到一种安全的方法将这些数据读入 XML 文件。读取顶点不是问题。但是随着边缘应用程序运行一段时间后进入 HeapSpace-Exception。

g.V().has(时间戳)
。命令()
.by(时间戳, Order.asc)
.range(startIndex, endIndex)
.outE()
要获取的数据,例如。标签、ID、属性
我使用顶点的时间戳作为排序的参考,以避免捕获重复。

但是由于某些顶点构成了所有 outEdges 的最大值,因此程序用尽了堆。我的问题是我可以使用边缘的字母数字 ID(UUID) 对它们进行安全排序,还是有其他或更好的方法来达到目标​​。

类似这样的:

g.E().order().by(T.id, Order.asc).range(startIndex, endIndex)

【问题讨论】:

    标签: java gremlin tinkerpop amazon-neptune


    【解决方案1】:

    T.id 对边进行排序将是一个很好的排序属性,但是问题与选择的属性无关,而是与导出的边的绝对数量有关。 Neptune 与其他数据库一样,必须检索所有边才能对它们进行排序。检索所有这些边是堆用完的原因。要解决此问题,您可以增加实例大小以获得额外的内存用于查询或以不同的方式导出数据。如果您查看此实用程序https://github.com/awslabs/amazon-neptune-tools/tree/master/neptune-export,您可以看到当前推荐的最佳实践。此实用程序会将整个图形导出为 CSV 文件。在您的用例中,您可以使用此实用程序,然后将 CSV 转换为 XML 文档或修改代码以导出为 XML 文档。

    【讨论】:

      猜你喜欢
      • 2017-06-05
      • 2015-06-22
      • 2012-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-05
      相关资源
      最近更新 更多