#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 перепуталась с этой загрузкой.