我使用批量导入将数据导入数据库。启动neo4j服务器,我可以在仪表板上看到已导入所有节点和关系。但是,当我尝试执行密码查询时,它会返回消息无效的编码:'12'
neo4j-sh (0)$ start a = node(1) return a
==> Invalid encoding '12'
neo4j-sh (0)$
过去我已经使用批量导入成功导入了数据,现在,按照相同的步骤,我无法找出导致错误的原因。
文件nodes.csv包含以下格式的数据:
node_id msisdn:string:users
1 000000F8BE951D6DE6480F4AFDFB670C553E47C0
2 0000021449360C1A398ED9A18800B2B13AA098A4
3 00000DABDE4C555FC82F7D534835247B94873C2C
4 00001BE4128DB41729365A41D3AC1D019E5ED8A6
5 00002506A1BC28F5DAE937703106CE6B39B857A0
6 00002781A2ADA816CDB0D138146BD63323CCDAB2
和relationships.csv如下:
calling_party called_party connection_type:string:connection consecutive_day:int:connection called_network_id:int:connection calls_count:int duration_sum:int
6 209339 CALLED 3 9800 1 532
6 667602 CALLED 25 9800 1 31
6 917611 CALLED 54 9811 2 17
6 1057687 CALLED 14 9800 1 29
6 1070735 CALLED 41 9800 1 285
6 1070735 CALLED 43 9800 1 18
6 2106202 CALLED 29 9802 1 26
6 2106202 CALLED 0 9802 1 10
batch.properties中的设置配置如下:
use_memory_mapped_buffers=true
neostore.nodestore.db.mapped_memory=100M
neostore.relationshipstore.db.mapped_memory=500M
neostore.propertystore.db.mapped_memory=4G
neostore.propertystore.db.strings.mapped_memory=200M
neostore.propertystore.db.arrays.mapped_memory=0M
neostore.propertystore.db.index.keys.mapped_memory=15M
neostore.propertystore.db.index.mapped_memory=15M
batch_import.node_index.users=exact
batch_import.relationship_index.connection=exact
我不确定错误的格式是否与我在Windows机器上准备csv文件的事实有关,而neo4j和批量导入在Linux机器上运行。
无论如何,如果有人能帮忙解决这个问题我真的很感激。
答案 0 :(得分:0)
也许\r
行结束?我昨天解决了这个问题,也许你想用最新版本重新导入数据?
或者在使用dos2unix
或tr -d '\r' <input >output