2015-02-10 42 views
2

我試圖使用導入工具與2.2.0從CSV導入數據。 我一直運行到從messages.log文件這個錯誤:Neo4j導入工具的錯誤

2015-02-10 16:14:44.792+0000 INFO [org.neo4j]: Import starting 
2015-02-10 16:14:45.032+0000 INFO [org.neo4j]: Creating new db @ C:\path\to\file\Neo4j\test.graphdb\neostore 
2015-02-10 16:14:47.727+0000 ERROR [org.neo4j]: Error during import Missing header of type START_ID 
java.lang.RuntimeException: Missing header of type START_ID 
    at org.neo4j.unsafe.impl.batchimport.staging.StageExecution.stillExecuting(StageExecution.java:61) 
    at org.neo4j.unsafe.impl.batchimport.staging.ExecutionSupervisor.anyStillExecuting(ExecutionSupervisor.java:70) 
    at org.neo4j.unsafe.impl.batchimport.staging.ExecutionSupervisor.finishAwareSleep(ExecutionSupervisor.java:93) 
    at org.neo4j.unsafe.impl.batchimport.staging.ExecutionSupervisor.supervise(ExecutionSupervisor.java:55) 
    at org.neo4j.unsafe.impl.batchimport.ParallelBatchImporter.executeStages(ParallelBatchImporter.java:263) 
    at org.neo4j.unsafe.impl.batchimport.ParallelBatchImporter.doImport(ParallelBatchImporter.java:153) 
    at org.neo4j.tooling.ImportTool.main(ImportTool.java:213) 
Caused by: org.neo4j.unsafe.impl.batchimport.input.MissingHeaderException: Missing header of type START_ID 
    at org.neo4j.unsafe.impl.batchimport.input.csv.DataFactories$AbstractDefaultFileHeaderParser.validateHeader(DataFactories.java:366) 
    at org.neo4j.unsafe.impl.batchimport.input.csv.DataFactories$AbstractDefaultFileHeaderParser.create(DataFactories.java:315) 
    at org.neo4j.unsafe.impl.batchimport.input.csv.InputGroupsDeserializer.createNestedIterator(InputGroupsDeserializer.java:65) 
    at org.neo4j.unsafe.impl.batchimport.input.csv.InputGroupsDeserializer.createNestedIterator(InputGroupsDeserializer.java:35) 
    at org.neo4j.helpers.collection.NestingIterator.fetchNextOrNull(NestingIterator.java:67) 
    at org.neo4j.helpers.collection.PrefetchingIterator.peek(PrefetchingIterator.java:60) 
    at org.neo4j.helpers.collection.PrefetchingIterator.hasNext(PrefetchingIterator.java:46) 
    at org.neo4j.unsafe.impl.batchimport.staging.IteratorBatcherStep.nextOrNull(IteratorBatcherStep.java:41) 
    at org.neo4j.unsafe.impl.batchimport.staging.ProducerStep.process(ProducerStep.java:72) 
    at org.neo4j.unsafe.impl.batchimport.staging.ProducerStep$1.run(ProducerStep.java:54) 

前五的三個文件的線,我試圖導入這個樣子的: loctest.csv

LOCATION:ID;LOC_TYPE:int;NUM_MILE:int;STREET_PRE;STREETNAME;STREETTYPE;STREETSUF;APT_NO;X_STREET;:LABEL 
895WTWELFTHST;1;895;W;TWELFTH;ST;;107;;LOCATION 
145SFRANKLINST;1;145;S;FRANKLIN;ST;;;;LOCATION 
11735GLACIERHWY;1;11735;;GLACIER;HWY;;;;LOCATION 
MENDENHALL LOOPUNIVERSITY DRRDUNIVERSITY DR;2;;;MENDENHALL LOOPUNIVERSITY DR;RD;;;UNIVERSITY DR;LOCATION 

zip5.csv

ZIP5:ID;ZIP4;:LABEL 
99801;;ZIP5 
99824;;ZIP5 
99821;;ZIP5 
99803;;ZIP5 

locziptest.csv

:START_ID;CITY;:END_ID;:TYPE 
895WTWELFTHST;JUNEAU;99801;CITY 
145SFRANKLINST;JUNEAU;99801;CITY 
11735GLACIERHWY;JUNEAU;99801;CITY 
MENDENHALL LOOPUNIVERSITY DRRDUNIVERSITY DR;JUNEAU;99801;CITY 

違規文件似乎是關係文件(locziptest.csv),但標題看起來像它配置正確。是ID字段中查找字符串的問題?它需要完全數字嗎?

+0

格式化看起來像在標題行中有空格字符作爲第一個字符 - 請檢查此內容。如果這不是問題,請粘貼neo4j-import的確切命令行。 – 2015-02-10 16:46:56

+0

@StefanArmbruster我不知道爲什麼,但SO的格式是增加這個空間,我的文件沒有它。我正在運行的命令是'bin \ Neo4jImport.bat - 進入C:\ Users \路徑\到\ db - 節點loctest.csv - 節點zip5.csv - 關係locziptest.csv' – user2338089 2015-02-10 16:53:23

+0

不確定,但嘗試添加'--id-type STRING'。 – 2015-02-10 16:57:15

回答

3

我這就給了一個嘗試,使用參數導入示例數據:

--into graph.db --nodes loctest.csv --nodes zip5.csv --relationships locziptest.csv --delimiter ; --array-delimiter "|"

請不要在CSV文件中引用分號。我認爲討論是圍繞命令提示符中的分號引用的,它不需要引用

+0

我不確定它是否正確執行。導入似乎現在正在處理數據,這要感謝您的建議,但它只是在提示處顯示「節點」。作爲參考,我的文件大約每行100,000行。任何想法它應該持續多久? – user2338089 2015-02-12 21:43:39

+0

爲什麼它的價值 - 它確實有效,我只是做了一個小型文件測試,一切正常。大文件只需要一段時間。 – user2338089 2015-02-13 00:01:25

+0

那麼,期望每秒鐘增加幾十萬個達到1M個實體(節點或關係)的優勢並不會太可怕。 – 2015-02-13 09:13:57

1

您的csv使用分號作爲字段分隔符。 neo4j-import默認爲逗號,所以修改你的neo4j-import電話:

--delimiter ";" --array-delimiter "," 

陣列定界符設置是必要的,因爲這一個默認爲分號都不能相同。

+0

現在得到: '節點 導入錯誤:無效數字字符-16'?'原始字符是''' – user2338089 2015-02-10 17:24:00

+0

您的評論似乎出現亂碼。我嘗試了上面的使用Linux,也許Windows命令行需要一些引號分號。 – 2015-02-10 17:26:57

+0

我正在使用windows。你是說在節點CSV中我需要在分號周圍加引號? – user2338089 2015-02-10 17:31:49