Я построю график neo4j. Размер составляет около 5 ГБ. Когда я хочу добавить отношение к каждому узлу, используя запрос cypher, такой как match (a)-[:know]-(b),(b)-[:know]-(c) merge (a)-[:maybe_know]-(c)
, я получаю ошибку GC overhead limit
. Я не хочу увеличивать память для neo4j. Есть ли способ обновить узлы шаг за шагом? Как, во-первых, 5000 узлов, затем еще 5000 узлов ... Или у вас есть другие предложения по этому поводу?Neo4j GC верхний предел
ответ
Как @twobit говорит, ограничьте свои партии чем-то управляемым, но также совместите только те вещи, которые еще не были сопоставлены. то есть, если a
и c
уже know
друг с другом или связь между ними уже была создана, они никогда не будут совпадать с ними. Yould также мог убедиться, что идентификатор одного больше, чем другой, который гарантирует, что вы не будете делать одно и то же совпадение дважды (один раз в каждом направлении).
match (a)-[:know]-(b),(b)-[:know]-(c)
where a <> c
and not (a)-[:know|maybe_know]-(c)
and id(a) > id(c)
merge (a)-[:maybe_know]-(c)
limit 1000
Вопрос здесь, занимает ли положение LIMIT вопрос? Будет ли какое-либо улучшение производительности, если мы использовали WITH после WHERE с LIMIT, затем выполнили слияние, или он заботится об этой оптимизации под капотом? – InverseFalcon
Я бы ожидал, что они будут примерно одинаковыми. Один из способов узнать, хотя это будет профилировать каждую версию на одном и том же наборе данных. –
- 1. Верхний предел GC превышен в neo4j
- 2. Верхний предел GC превышен
- 3. Pentaho | Верхний предел GC превышен
- 4. java.lang.OutOfMemoryError (превышен верхний предел GC)
- 5. javax.servlet.ServletException: превышен верхний предел GC
- 6. OutOfMemoryError: GC Верхний предел превышен
- 7. Geoserver - превышен верхний предел GC
- 8. Инструмент импорта Neo4j - Ошибка OutOfMemory: превышен верхний предел GC
- 9. icCube java.lang.OutOfMemoryError: превышен верхний предел GC
- 10. GORM/Hibernate + верхний предел GC превышен
- 11. SLURM - OutOfMemoryError: превышен верхний предел GC
- 12. Верхний предел GC превышен в коде
- 13. 8-головоломка java.lang.OutOfMemoryError: превышен верхний предел GC
- 14. Получение ошибки: java.lang.OutOfMemoryError: превышен верхний предел GC
- 15. java.lang.OutOfMemoryError: верхний предел GC превышен android studio
- 16. ОШИБКА com.graphhopper.http.GHErrorHandler - превышен верхний предел GC
- 17. cassandra 2.2.8: sstableverify - превышен верхний предел GC
- 18. Jmeter java.lang.OutOfMemoryError: превышен верхний предел GC
- 19. Spark: java.lang.OutOfMemoryError: превышен верхний предел GC
- 20. Ошибка Clojure - превышен верхний предел GC
- 21. Верхний предел GC превышен при заполнении Hashmap
- 22. Gtling tool throws GC Верхний предел превышен
- 23. Верхний предел GC превышен с использованием NLineInputFormat
- 24. Jenkins java.lang.OutOfMemoryError: превышен верхний предел GC
- 25. Gridgain: java.lang.OutOfMemoryError: превышен верхний предел GC
- 26. Верхний предел GC превышен с Apache POI
- 27. Бульдозер: java.lang.OutOfMemoryError: превышен верхний предел GC
- 28. Ошибка памяти - превышен верхний предел GC
- 29. Robolectric. Maven OutOfMemoryError: превышен верхний предел GC
- 30. одно приложение показывает Невозможно выполнить Dex: GC предел накладных предел превышен GC верхний превышена в затмении
'LIMIT 5000' может быть? Если запрос стабилен (каждый раз производит одинаковое упорядочение), вы можете следить за «SKIP 5000 LIMIT 5000», а затем «SKIP 10000 LIMIT 5000» и т. Д. –