Загрузка файла CSV в Neo4J, работающий в Docker
У меня Neo4J работает в Docker (Windows 10). Я хочу импортировать в него большой CSV-файл, используя Node и neo4j-driver
,
Мой запрос (ограничен 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, в эту структуру папок?
1 ответ
Вам нужно будет скопировать его в Docker-контейнер или в каталог, который в нем сопоставлен; Neo4J по умолчанию поддерживает загрузку только CSV из своего import
каталог, и все пути загрузки CSV будут относительно этого.
Это с опциями "из коробки"; изменив dbms.directories.import
переменная в файле конфигурации, это можно изменить, но это явно не рекомендуется в документации Neo4J.