ret*_*phy 5 data-transfer dump neo4j cypher
我的数据库受到 Neo4j 2.1.1 中的错误的影响,该错误往往会损坏许多节点已被删除的区域中的数据库。事实证明,大多数受影响的关系在我的数据库中都被标记为删除。我已经使用单个查询编辑dump
了其余的数据。neo4j-shell
这提供了一个 1.5G Cypher 文件,我需要将其导入到 mint 数据库中,以使我的数据恢复到健康的数据结构中。
我注意到转储文件包含 (1) 模式、(2) 节点和 (3) 关系的定义。我已经从文件中删除了架构定义,因为它们可以稍后应用。现在的问题是,由于转储文件在节点创建(采用以下格式:_nodeid)和关系创建期间使用节点的单系列标识符,因此似乎所有CREATE
语句(在我的例子中为 33,160,527)都需要在单个交易。
我的第一次尝试让服务器忙了 36 个小时,但没有结果。我已将neo4j-shell
数据直接加载到新的数据库目录中,而不是连接到服务器。新数据库目录中的数据文件从未显示任何接收数据的迹象,并且消息日志显示许多指示线程阻塞的消息。
我想知道将这些数据返回数据库的最佳方法是什么?我应该加载特定的配置文件吗?我需要分配一个大的 Java 堆吗?将如此大的转储文件加载到数据库中有何技巧?
dump 命令不适用于更大规模的导出,最初有一个版本可以实现这一点,但它没有包含在产品中。
如果您仍然有旧数据库,您可以尝试以下操作:
load csv
命令或批量导入器从 CSV 导入数据