将中型数据集加载到 neo4j
Load medium-sized dataset to neo4j
我有一个 190 万行/187MB 的 csv,当我尝试 LOAD CSV
时它给了我 TransientError: There is not enough memory to perform the current task
。
我确实按照错误信息的建议增加了dbms.memory.heap.max_size
,将initial size
设置为4G,将max size
设置为32G。
所以我的问题是我需要多少内存来加载这个,据我所知,不是那么大的数据集? 16G内存的家用电脑也可以吗?
非常感谢您的帮助..
如果您还没有将 USING PERIODIC COMMIT
指定为 indicated by the dev manual 作为您的数据大小,您应该这样做。这将允许 LOAD CSV
以较小的块处理您的数据,而不是尝试在单个事务中完成所有操作,这可能是您 运行 内存不足的原因。
这是一个简单的例子:
USING PERIODIC COMMIT
LOAD CSV FROM 'file:///foo.csv' AS line
CREATE (:Person { name: line[1], address: line[2] });
我有一个 190 万行/187MB 的 csv,当我尝试 LOAD CSV
时它给了我 TransientError: There is not enough memory to perform the current task
。
我确实按照错误信息的建议增加了dbms.memory.heap.max_size
,将initial size
设置为4G,将max size
设置为32G。
所以我的问题是我需要多少内存来加载这个,据我所知,不是那么大的数据集? 16G内存的家用电脑也可以吗?
非常感谢您的帮助..
如果您还没有将 USING PERIODIC COMMIT
指定为 indicated by the dev manual 作为您的数据大小,您应该这样做。这将允许 LOAD CSV
以较小的块处理您的数据,而不是尝试在单个事务中完成所有操作,这可能是您 运行 内存不足的原因。
这是一个简单的例子:
USING PERIODIC COMMIT
LOAD CSV FROM 'file:///foo.csv' AS line
CREATE (:Person { name: line[1], address: line[2] });