Neo4j - импорт миллионов данных с созданием отношений - PullRequest
0 голосов
/ 27 января 2019

Я пытался импортировать 3 разных файла CSV с третьим файлом, содержащим данные 3M.Создание связи между файлом 1 и файлом 2 прошло успешно, так как данных было немного.Но создание отношения между файлом 2 и файлом 3 не было успешным.Структура данных выглядит следующим образом.

Файл 1: (имеет 2 заголовка) Образец данных, например, для

HEADER1,HEADER2
'A','B'

Файл 2: (с двумя заголовками) значения в HEADER2, общие для file1 иfile2

HEADER2,HEADER3                                                                  
'B','C'

File3: (Это имеет 4 заголовка) значения в Header3, общие для file2 и file3 Этот файл имеет значения 3M

HEADER3,HEADER4,HEADER5,HEADER6
'C','D','E','F'

Я хочу создать отношения между узлами следующим образом:Если узел :file1 имеет свойство HEADER2, равное свойству :file2 узла HEADER2, то между этими узлами должна быть создана связь.И аналогично следует создать связь между :file2 / :file3 узлами, используя их свойства HEADER3.

Я использую следующий код для загрузки данных, но JVM не хватает памяти, так как связьчисло созданий очень велико:

USING PERIODIC COMMIT 50000
LOAD CSV WITH HEADERS FROM "file:///D:/file3.csv" as csvline
MATCH (file2:file2 {HEADER3: csvline.HEADER3}) 
create (file3:file3 {HEADER3: csvline.HEADER3, HEADER4: toString(csvline.HEADER4), HEADER5: toString(csvline.HEADER5), HEADER6: csvline.HEADER6})
CREATE (file2)-[:HAS_SERVICE]->(file3)

В JVM не хватает памяти с ошибкой «gc overhead limit overeded» в браузере.Любые указатели на то, как создать связь между file1, file 2 и file 3, где есть миллионы строк, были бы полезны !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...