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

Import Neo4j导入工具-控制台输出含义,import,neo4j,console,Import,Neo4j,Console,工具的控制台输出意味着什么 示例行: [输入-----------------属性(2)====编写器:W:71.]3M [输入------|准备(|关系| | |]49M [关系-->关系+计数----]282M 当我试图通过这个工具导入一个大数据集时,似乎在248M,导入挂起在“计算密集节点”步骤中。“计算密集节点”到底做什么?在一些离线讨论之后,似乎大部分(如果不是全部的话)都“丢失了”节点是由于CSV文件中的一行具有以引号“开头的属性,但不包含结束引号。这导致解析器一直读取到下一个引号,

工具的控制台输出意味着什么

示例行:

[输入-----------------属性(2)====编写器:W:71.]3M

[输入------|准备(|关系| | |]49M

[关系-->关系+计数----]282M


当我试图通过这个工具导入一个大数据集时,似乎在248M,导入挂起在“计算密集节点”步骤中。“计算密集节点”到底做什么?

在一些离线讨论之后,似乎大部分(如果不是全部的话)都“丢失了”节点是由于CSV文件中的一行具有以引号
开头的属性,但不包含结束引号。这导致解析器一直读取到下一个引号,即通过新行,认为它仍然读取该节点的相同属性值

通过某种方式检测这些缺失的引号会很好,但这并不是直接的,因为它可能会干扰实际跨越多行的节点/关系。

导入阶段是:

  • 节点
  • 准备节点索引
  • 计算密集节点
  • 节点-->关系稀疏
  • 关系-->关系稀疏
  • 节点计数
  • 关系重要
  • 至于解释统计数据,我想是@mattias persson写的。复制它,记录在案:

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

    例如:

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

    • 正在以20,25 MB/s的速度读取或解析数据,这些数据正在传递给…​
    • PREPARE
      为…准备数据…​
    • 关系
      创建实际关系记录并…​
    • v
      将关系写入存储。此步骤在本例中不可见,因为它与其他部分相比非常便宜

    观察分区大小可以提示在哪些方面可以提高性能。在上面的示例中,瓶颈是数据读取分区(标记为>),这可能表明磁盘速度慢,或者无法很好地处理同时进行的读写操作(因为最后一个分区通常围绕写入磁盘).

    您能在该时间点提供线程转储吗?这将非常有帮助。在导入关系之前计算密集节点,找出哪些关系链具有密集表示。查看您的输出,尽管导入似乎通过了该步骤,但没有?查看日志文件,似乎t端点之一(我们称之为节点x)在关系中未导入。CSV文件中有节点x,但由于某些原因未导入。当我尝试仅导入节点时,我发现以下情况:在CSV文件中的2400万个节点中,约有150k个节点未导入。是否有任何方法可以让我知道哪些节点已被跳过?对于混淆,我深表歉意,考试失败ple行来自成功导入。我想知道输出的含义。谢谢!或者,是否可以跳过没有匹配的开始或结束节点的关系?哦,节点没有导入是出乎意料的。作为导入工具的主要作者,我是否可以查看该节点输入文件?如果我如果这样的话,我很可能能够找出问题所在。也许除了SO之外,还可以使用一些在线文件共享。谢谢Mattias!通过删除不平衡的引号,我成功导入了整个数据集!如果您能帮助我理解控制台输出的含义,我将不胜感激-我对每一个都感兴趣百万对象(节点/边),每秒导入多少个对象。另外,有没有办法在这个导入工具中配置分配的内存?有人询问如何解释输出。我将在neo4j手册中写一页,让每个人都能看到。同样,也没有办法配置内存使用,导入工具通过自己的方式管理它elf并尽其所能使用可用内存。它不使用内存映射,也不需要它,因为它将顺序写入磁盘。