Neo4j导入工具 - 控制台输出含义

时间:2015-02-17 05:23:20

标签: import neo4j console

Neo4j import工具的控制台输出是什么意思?

示例行:

[INPUT--------------PROPERTIES(2)======|WRITER: W:71.] 3M

[INPUT------|PREPARE(|RELATIO||] 49M

[Relationship --> Relationship + counts-------]282M

当我尝试通过此工具导入大型数据集时,似乎在248M时,导入挂起在“计算密集节点”步骤中。 “计算密集节点”究竟做了什么?

2 个答案:

答案 0 :(得分:2)

导入阶段是:

  1. 节点
  2. 准备节点索引
  3. 计算密集节点
  4. 节点 - >关系稀疏
  5. 关系 - >关系稀疏
  6. 节点计数
  7. 关系计数
  8. 至于解释统计数据,我猜@ mattias-persson写了in the Neo4J manual。复制它,记录:

    10.1.2.5。输出和统计

    虽然导入正在运行不同的阶段,但控制台中会打印一些统计数据和数字。对该输出的一般解释是查看水平线,该水平线被分成多个部分,每个部分代表与其他部分并行进行的一种类型的工作。部分越宽,相对于其他部分花费的时间越多,最宽的是瓶颈,也标有*。如果一个部分有一条双线而不是一条线,那就意味着多个线程正在执行该部分的工作。在最右侧显示一个数字,告知该阶段已处理了多少实体(节点或关系)。

    举个例子:

    [*>:20,25 MB/s-----------|PREPARE(3)==========|RELATIONSHIP(2)===========] 16M
    

    将被解释为:

    • >正在以20,25 MB / s的速度读取和解析数据,这些数据正在传递给...
    • PREPARE为...准备数据
    • RELATIONSHIP创建实际关系记录和......
    • v将关系写入商店。此示例在此示例中不可见,因为与其他部分相比,它非常便宜。

    观察部分大小可以提供有关可以提高性能的提示。在上面的示例中,瓶颈是数据读取部分(标有>),这可能表示磁盘速度很慢,或者处理同时读写操作很差(因为上一部分通常围绕写入磁盘)

答案 1 :(得分:1)

经过一些离线讨论后,似乎大多数(如果不是全部)"缺失"节点是由于CSV文件中的一行有一个以引用"开头但不包含结束引用的属性。这导致解析器读取到下一个引用,即通过换行,认为它仍然读取该节点的相同属性值。

对于这样的缺失引号进行某种检测会很棒,但这并不是直截了当的,因为它可能会混淆实际跨越多行的节点/关系。