计算边数的 Gremlin 查询 - MemoryLimitExceededException AWS Neptune
Gremlin Query to count Edges - MemoryLimitExceededException AWS Neptune
Neptune 上的 Gremlin 查询以计算具有特定标签的顶点的边数导致 MemoryLimitExceededException
。错误只发生几次,即如果我 运行 查询 10 次,成功两次。
Neptune 正在使用 db.r5.xlarge
。
查询
g.V().hasLabel('MyVertex').has('myLabel',1234).outE().hasLabel('MY_EDGE_LABEL').count().next()
有超过 300 万个顶点带有标签 MyVertex
和 100 万条边匹配 MY_EDGE_LABEL
边标签。
错误:
{
"code": "MemoryLimitExceededException",
"requestId": "123456-abcd-1234-1234-11aa221122ab",
"detailedMessage": "Query cannot be completed due to memory limitations."
}
我的问题:
- Neptune 上是否有任何可以增加查询内存限制的设置?
- 查询中是否有任何可以调整以获得相同结果但消耗更少内存的内容。
添加 limit(1) 来限制结果的大小已解决问题。
g.V().hasLabel('MyVertex').has('myLabel',1234).outE().hasLabel('MY_EDGE_LABEL').count().limit(1).next()
Neptune 上的 Gremlin 查询以计算具有特定标签的顶点的边数导致 MemoryLimitExceededException
。错误只发生几次,即如果我 运行 查询 10 次,成功两次。
Neptune 正在使用 db.r5.xlarge
。
查询
g.V().hasLabel('MyVertex').has('myLabel',1234).outE().hasLabel('MY_EDGE_LABEL').count().next()
有超过 300 万个顶点带有标签 MyVertex
和 100 万条边匹配 MY_EDGE_LABEL
边标签。
错误:
{
"code": "MemoryLimitExceededException",
"requestId": "123456-abcd-1234-1234-11aa221122ab",
"detailedMessage": "Query cannot be completed due to memory limitations."
}
我的问题:
- Neptune 上是否有任何可以增加查询内存限制的设置?
- 查询中是否有任何可以调整以获得相同结果但消耗更少内存的内容。
添加 limit(1) 来限制结果的大小已解决问题。
g.V().hasLabel('MyVertex').has('myLabel',1234).outE().hasLabel('MY_EDGE_LABEL').count().limit(1).next()