【问题标题】:Loading a CSV file into Neo4J running in Docker [duplicate]将 CSV 文件加载到在 Docker 中运行的 Neo4J [重复]
【发布时间】:2018-04-12 17:13:08
【问题描述】:

我在 Docker (Windows 10) 中运行 Neo4J。我想使用 Node 和 neo4j-driver 将一个大的 CSV 文件导入其中。

我的查询是(限于 5 行,出于测试目的):

let csvPath = 'file:///C:/Users/Test/largefile.csv';

let query = `
  USING PERIODIC COMMIT
  LOAD CSV FROM '${csvPath}' AS line
  WITH line LIMIT 5
  MERGE (:Person {name: line[1]})-[:connected_to]->(:Person {name: line[2]})
`;

无论我尝试在路径中添加什么,驱动程序都会一直在寻找file:/var/lib/neo4j/import/C:/Users/Test/largefile.csv

我试过带/不带驱动器号;尝试本地文件并使用./;尝试了不同的路径 - 驱动程序总是在 /var/lib/neo4j/import 查找文件,即使我的机器上没有这样的文件夹。

是否可以从我的主机导入文件,或者我需要将它复制到 Docker 容器中,复制到该文件夹​​结构中?

【问题讨论】:

    标签: csv docker neo4j neo4j-driver


    【解决方案1】:

    您需要将其复制到 docker 容器或映射到其中的目录中; Neo4J 默认只支持从它的import 目录加载 CSV,并且所有的 LOAD CSV 路径都是相对的。

    这是开箱即用的选项;通过修改配置文件中的dbms.directories.import 变量,可以更改,但Neo4J 文档明确不建议这样做。

    【讨论】:

      猜你喜欢
      • 2018-03-09
      • 2022-01-09
      • 2019-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 1970-01-01
      相关资源
      最近更新 更多