Я пытался импортировать 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, где есть миллионы строк, были бы полезны !!