nebula从neo4j导入数据,neo4j label中部分顶点的属性中带换行,导致拼成nebula的insert语句报错,例如下面这条neo4j数据,导入时就会报语法错误。
我目前采用的办法是抠出这条数据的id(n),然后在exec中跳过这条数据,但是由于数据量比较大,这类数据还不少,导入经常中断,效率十分低,请教有什么好办法解决吗。
nebula从neo4j导入数据,neo4j label中部分顶点的属性中带换行,导致拼成nebula的insert语句报错,例如下面这条neo4j数据,导入时就会报语法错误。
用的什么导入工具,可能是换行符没有做转义的bug
Nebula Graph Exchange
这种数据我看日志里拼成nebula语句时就是下面两行,然后就报了语法错误
NebulaGraphClientWriter:167 - INSERT VERTEX addrInfo(vid) values(“address_20200216_wtw34r_stella
cao”)
一些label数据少的话,我还能通过exec: “match (n:addrInfo) where id(n) <> 240982540 xxx” 跳过这条数据,但是一次导入几千万 甚至上亿的数据,中间总能遇到带回车的数据,每次导入一部分出错停掉,扣数据,再导入,非常麻烦。
还有的数据是字符串就带 " 也会报错,比如昵称就叫 "王某某,属性string内的数据如果带了 换行回车,或者 " 等都没有进行转义,直接拼的insert,这样导入时失败率很高。
感谢反馈,我们让开发看看
你在Neo4j里面是用反引号的?
Exchange1.0中没有对字符串中的特殊字符做转义,我们考虑支持一下
数据"王某某是string类型,从neo4j中读出来再插入nebula就会变成 values("“王某某”)
请问这块支持的话,大概需要多久?是随2.0版本一起发布吗,还是小版本更新迭代?Q4有希望能用上不?
不随2.0一起发布。
感谢回复,neo4j迁移nebula的需求应该还是很多的,ETL是关键的第一步,期待Exchange支持转义。
赞