2016-06-14 3 views
0

Я пытаюсь выполнить следующий запрос, чтобы создать свои узлы и отношения из файла .csv, что у меня есть:«Невозможно отменить транзакцию» ошибку в Neo4j

USING PERIODIC COMMIT 1000 LOAD CSV WITH HEADERS FROM 'file:///LoanStats3bEDITED.csv' AS line 
//USING PERIODIC COMMIT 1000 makes sure we don't get a memory error 
//creating the nodes with their properties 
//member node 
CREATE (member:Person{member_id:TOINT(line.member_id)}) 
//Personal information node 
CREATE (personalInformation:PersonalInformation{addr_state:line.addr_state}) 
//recordHistory node 
CREATE (recordHistory:RecordHistory{delinq_2yrs:TOFLOAT(line.delinq_2yrs),earliest_cr_line:line.earliest_cr_line,inq_last_6mths:TOFLOAT(line.inq_last_6mths),collections_12_mths_ex_med:TOFLOAT(line.collections_12_mths_ex_med),delinq_amnt:TOFLOAT(line.delinq_amnt),percent_bc_gt_75:TOFLOAT(line.percent_bc_gt_75), pub_rec_bankruptcies:TOFLOAT(line.pub_rec_bankruptcies), tax_liens:TOFLOAT(line.tax_liens)}) 
//Loan node 
CREATE (loan:Loan{funded_amnt:TOFLOAT(line.funded_amnt),term:line.term, int_rate:line.int_rate, installment:TOFLOAT(line.installment),purpose:line.purpose}) 
//Customer Finances node 
CREATE (customerFinances:CustomerFinances{emp_length:line.emp_length,verification_status_joint:line.verification_status_joint,home_ownership:line.home_ownership, annual_inc:TOFLOAT(line.annual_inc), verification_status:line.verification_status,dti:TOFLOAT(line.dti), annual_inc_joint:TOFLOAT(line.annual_inc_joint),dti_joint:TOFLOAT(line.dti_joint)}) 
//Accounts node 
CREATE (accounts:Accounts{revol_util:line.revol_util,tot_cur_bal:TOFLOAT(line.tot_cur_bal)}) 

//creating the relationships 
CREATE UNIQUE (member)-[:FINANCIAL{issue_d:line.issue_d,loan_status:line.loan_status, application_type:line.application_type}]->(loan) 
CREATE UNIQUE (customerFinances)<-[:FINANCIAL]-(member) 
CREATE UNIQUE (accounts)<-[:FINANCIAL{open_acc:TOINT(line.open_acc),total_acc:TOFLOAT(line.total_acc)}]-(member) 
CREATE UNIQUE (personalInformation)<-[:PERSONAL]-(member) 
CREATE UNIQUE (recordHistory)<-[:HISTORY]-(member) 

Однако, я получаю следующее сообщение об ошибке :

Unable to rollback transaction 

Что это значит и как я могу исправить свой запрос, чтобы он мог успешно работать?

теперь я получаю следующее сообщение об ошибке:

GC overhead limit exceeded 

ответ

0

Я думаю, что вы из памяти. Решения:

Использование Neo4j-import.batch

Сплит ваши querys.

Сделать ограничения для ускорения запросов.

Зачем вам нужно создавать уникальные? Вы можете просто использовать create, если ваш csv чист или использовать слияние.

Я думаю, что это может быть и быстрее, если вы выполняете запрос не в браузере, а в оболочке.

Загрузить еще ram :-)

+0

Отказ от «уникального» в создании отношений помог! – Aly

+0

рад помочь. Я не верю «создавать уникальные». – Mvde

Смежные вопросы