gpt4 book ai didi

csv - 在巨大的数据集上创建独特的节点和关系 NEO4J

转载 作者:行者123 更新时间:2023-12-03 03:28:53 26 4
gpt4 key购买 nike

我的问题与这个非常相似: How to create unique nodes and relationships by csv file imported in neo4j?我有一个大约有 250 万行的文本文件,有两列,每一列都是节点 ID:

1234 345
1234 568
345 984
... ...

每一行代表一个关系(所以有 250 万个关系):first_column nodeid-> FOLLOWS -> secondary_column nodeid。该文件中有大约 80,000 个唯一节点。

根据上面的链接,我做了:

USING PERIODIC COMMIT 1000
LOAD CSV FROM 'file:///home/user_name/Desktop/bigfile.csv' AS line FIELDTERMINATOR ' '
MERGE (n:Userid { id: toInt(line[0]) })
WITH line, n
MERGE (m:Userid { id: toInt(line[1]) })
WITH m,n
MERGE (n)-[:FOLLOWS]->(m)

我假设这段代码

  • 如果节点 n 或 m 不存在则创建它(如果存在则查找它),并创建从 n 到 m 的关系。
  • 如果 n 或 m 存在,并且已经有许多其他边(关系)指向和来自其他节点,这只会添加从 n 到 m 的另一条边(当节点已经存在时,不会创建一个全新的节点)

我的主要问题是我想知道如何使这个过程更快。这是在 Ubuntu 上完成的,我将 conf/neo4j-wrapper.conf 文件中的内存值从 512 MB 更改为 2048 MB。 (我可以在虚拟机上增加的最大值)

我应该尝试使用导入工具吗?基于本网站 neo4j.com/developer/guide-import-csv/下的“Super Fast Batch Importer For Huge Datasets”下的示例,

./bin/neo4j-import --into mydatabase.db --id-type INTEGER \
--nodes allnodes.csv \
--delimiter " " \
--relationships:FOLLOWS bigfile.csv

为此,我需要重新格式化文件,以便:allnodes.csv 显示

userID:ID(Userid)
1234
5678
...

并且 bigfile.csv 显示

:START_ID(Userid)   :END_ID(Userid)
1234 345
1234 568
345 984
*Two columns delimited by space*

当我运行此导入时,出现此错误:

Input error: Expected '--nodes' to have at least 1 valid item, but had 0 []
Caused by:Expected '--nodes' to have at least 1 valid item, but had 0 []
java.lang.IllegalArgumentException: Expected '--nodes' to have at least 1 valid item, but had 0 []

如何修复此错误?对于 csv 文件,我是否将它们放在运行此命令的同一文件夹(neo4j 文件夹)中?

最佳答案

您的命令行可能包含两个 CSV 文件的错误路径。

关于csv - 在巨大的数据集上创建独特的节点和关系 NEO4J,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37013284/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com