使用Neo4j 2.3.1 Community Edition並嘗試使用Neo4jImport.bat導入約1900萬個節點。Neo4j導入錯誤:嘗試讀取大於有效緩衝區大小的值
不幸的是,導入失敗,Neo4j不告訴我它失敗時嘗試讀取哪個行號。
我正在使用--stacktrace參數,但我得到的是下面的堆棧跟蹤。
有沒有其他辦法可以從進口商處取出一行號碼?
編輯:
的CSV文件看起來是這樣的:
:ID(Item),id:int,name:string,:LABEL
1,1,"universe",Item
8,8,"happiness",Item
它自動生成的,所以缺少結束引號的概率是相當小的。數據中的引號將用\轉義 - - 其中可能還有其他特殊字符,但該文件是utf8編碼的。不過進口商應該能夠知道它開始讀取錯誤數據的行號。
命令行:
「C:\ Program Files文件\的Neo4j社區\ BIN \ Neo4jImport.bat」 --input編碼UTF8 --stacktrace --into E:\ data.graphdb --nodes項目的.csv
導入錯誤:試圖在比致有效的緩衝大小4194304 大的值如下:試圖在比有效的緩衝大小的值來讀取4194304 java.lang.IllegalStateException:試過在一個值讀取大於有效緩衝區大小4194304 at org.neo4j.csv.reader.BufferedCharSeeker.fillBufferIfWeHaveExhaustedIt(BufferedCharSeeker.java:267) at org.neo4j.csv.reader.BufferedCharSeeker.nextChar(BufferedCharSeeker.java:240) at org.neo4j.csv.reader.BufferedCharSeeker.seek(BufferedCharSeeker.java:97) at org.neo4j.unsafe.impl。 batchgport.input.csv.DataFactories $ AbstractDefaultFileHeaderParser.create(DataFactories.java:268) at org.neo4j.unsafe.impl.batchimport.input.csv.InputGroupsDeserializer.createNestedIterator(InputGroupsDeserializer.java:67) 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.PrefetchingIterat or.hasNext(PrefetchingIterator.java:46) 在org.neo4j.unsafe.impl.batchimport.staging.IteratorBatcherStep.nextBatchOrNull(IteratorBatcherStep.java:45) 在org.neo4j.unsafe.impl.batchimport.InputIteratorBatcherStep.nextBatchOrNull( InputIteratorBatcherStep.java:41) at org.neo4j.unsafe.impl.batchimport.staging.ProducerStep.process(ProducerStep.java:74) at org.neo4j.unsafe.impl.batchimport.staging.ProducerStep $ 1.run(ProducerStep .java:54)
您可以分享一些關於您嘗試導入的CSV文件的大小和結構的更多詳細信息嗎?你調用的命令行是什麼? –
共享細節。謝謝你提醒我。 –