知识库

在 neo4j-import 中使用 ACTUAL 数据类型

使用 neo4j-admin import 导入数据时,请务必先查阅所需的 CSV 文件结构和注意事项,然后再继续。

ACTUAL 与 String(默认)或 Integer

CSV 中的每个节点都必须有一个 :ID,其格式可以是 IntegerStringACTUAL。默认情况下它是 String,可以在头部显式指定 Integer。然而,实际上在性能和内存方面,两者大致相当,使用默认值即可。

使用 Integer 或 String 比使用 ACTUAL 会占用更多内存,因此可能会有人倾向于选择后者。然而,这实际上通常不是最好的选择,除非您有特定的使用场景。

什么是 ACTUAL,它为什么特别?

ACTUAL 指的是实际的节点 ID,在 Neo4j 中,这意味着该记录在磁盘上的实际位置。在 neo4j-import 中使用 ACTUAL 时,所有 :ID 都必须是有序的,并且在加载过程中导入的所有 CSV 文件中都必须有序。这通常很难实现,尤其是在现有数据集以及大型复杂数据集中更是如此。

假设您已经将所有要导入的 CSV 文件中的所有节点排序,还需要考虑这些 ID 中是否存在间隔。任何间隔都会导致磁盘上的某些区域不用于存储,并可能减少图数据存储的可用存储空间。

最后,避免将大型 ID 与 ACTUAL 一起使用,因为这会极大地增加您的存储文件大小,出于显而易见的原因应该避免这种情况。

要点总结

如果您使用低位、连续、有序的 :ID,那么 ACTUAL 应该能正常工作,但这需要了解内部存储架构,并且要在所有 CSV 文件中保持所有节点的顺序可能具有挑战性。

neo4j-admin import 旨在填充新的、空的数据库。它不能用于导入到现有数据库。
© . All rights reserved.