Neo4j jexp / пакетный импорт странная ошибка: java.lang.NumberFormatException

#csv #neo4j #data-import

#csv #neo4j #данные-импорт

Вопрос:

Я пытаюсь импортировать около 6 миллионов узлов с помощью пакетного импортера Майкла Хунгера, но получаю эту странную ошибку: java.lang.NumberFormatException: For input string: "78rftark42lp5f8nadc63l62r3" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

Это странно, потому 78rftark42lp5f8nadc63l62r3 что это самое первое значение большого файла CSV, который я пытаюсь импортировать, и его тип данных установлен в строку.

Это первые три строки этого файла:

имя: строка: метки сеансов: метка времени метки: длинные: временные метки visitor_pid referrer_url
78rftark42lp5f8nadc63l62r3 Сессия 1401277353000 cd7b76ef09b498e95b35b49de2925c5f http://someurl.com/blah?t=123 
dt2gshq5pao8fg7bka8fdri123 Сессия 1401277329000 4036ac507698e4daf2ada98664da6d58 http://enter.url.com/signup/signup.php 

Как вы можете видеть здесь name:string:session , для типа данных этого столбца установлено значение string , почему импортер пытается проанализировать значение как long ?

Я совершенно новичок в Neo4j и его экосистеме, поэтому я уверен, что здесь что-то упускаю.

Это команда, которую я запустил, чтобы импортировать кучу узлов и отношений: ./import.sh
-db-directory sessions.db
-nodes "toImport/browser-nodes.csv.gz,toImport/country-nodes.csv.gz,toImport/device-nodes.csv.gz,toImport/ip-nodes.csv.gz,toImport/language-nodes.csv.gz,toImport/operatingSystem-nodes.csv.gz,toImport/referrerType-nodes.csv.gz,toImport/resolution-nodes.csv.gz,toImport/session-nodes.csv"
-rels "toImport/rel-session-browser.csv.gz,toImport/rel-session-country.csv.gz,toImport/rel-session-device.csv.gz,toImport/rel-session-ip.csv.gz,toImport/rel-session-language.csv.gz,toImport/rel-session-operatingSystem.csv.gz,toImport/rel-session-referrerType.csv.gz,toImport/rel-session-resolution.csv.gz"

Файл, который завершается ошибкой, является последним в списке узлов toImport/session-nodes.csv , остальные файлы были успешно обработаны импортером.

Это содержимое batch.properties файла:

 dump_configuration=false
cache_type=none
use_memory_mapped_buffers=true
neostore.propertystore.db.index.keys.mapped_memory=1G
neostore.propertystore.db.index.mapped_memory=3G
neostore.nodestore.db.mapped_memory=1G
neostore.relationshipstore.db.mapped_memory=1G
neostore.propertystore.db.mapped_memory=1G
neostore.propertystore.db.strings.mapped_memory=1G
batch_import.node_index.sessions=exact
batch_import.node_index.browsers=exact
batch_import.node_index.operatingsystems=exact
batch_import.node_index.referrertypes=exact
batch_import.node_index.devices=exact
batch_import.node_index.resolutions=exact
batch_import.node_index.countries=exact
batch_import.node_index.languages=exact
batch_import.node_index.ips=exact
batch_import.node_index.timestamps=exact
 

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

РЕДАКТИРОВАТЬ: я использую этот двоичный файл: https://dl.dropboxusercontent.com/u/14493611/batch_importer_20.zip

Комментарии:

1. Можете ли вы поделиться своим реальным файлом? Я думаю, возможно, ваши разделители неверны (где-то там не настоящие табуляции или пробелы?) Также, возможно, вы используете это значение где-то еще в файле?

2. Привет, Майкл, я снова сгенерировал файлы CSV, и ошибка исчезла. Теперь я получаю эту ошибку при импорте отношений : java.lang.NumberFormatException: For input string: "8rik5aqtisg0cash6313lmhr66" . Похоже, импортер ожидает идентификатор узла, а не индексированное свойство, я уверен, что здесь я делаю что-то не так, но я использовал формат файла образца для создания файлов для отношений . Вы можете получить копию моих файлов здесь .

3. Это команда, которую я запустил ./import.sh -db-directory sessions.db -nodes "data/sessions.tsv,data/devices.tsv,data/oses.tsv,data/browsers.tsv,data/ips.tsv,data/countries.tsv,data/languages.tsv,data/resolutions.tsv" -rels "data/rel-devices.tsv,data/rel-oses.tsv,data/browsers.tsv,data/ips.tsv,data/countries.tsv,data/languages.tsv,data/resolutions.tsv" , ошибка появляется, когда импортер пытается импортировать data/rel-devices.tsv , который является первым файлом в списке файлов отношений.

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

5. Теперь должно быть исправлено. Извините, я виноват. Пожалуйста, обратите внимание, что у него другой синтаксис, будущая версия для 2.1 перепуталась с этой загрузкой.