从neo4j导入nebula之后丢了部分数据

12个小时…能贴一下每个worker的执行时间吗?看看是不是明显的长尾

修改了一下导入conf文件 exec项,用neo4j内部自增id控制边界进行导入,方便后续增量导入。导入节点数据量正确了。不过无法证明用n.vid进行排序导入使得结果缺失。


之前用的节点vid属性
image

之前导入的日志还有不,查看下batchSuccess.${你配置的tag.name} 和batchFailure.${你配置的tag.name},是否存在有部分批次导入失败。

很遗憾,我没输出到日志文件 :frowning_face:
image

后续再遇到类似问题,我保留日志过来提问吧。我们还有40多个label,几亿数据要导。

好的

后续你们 找到丢失数据的原因了吗?
我这边也发现丢失部分少量数据,也是没有打spak日志 导致没有查到原因,后续要开一下日志了

我这边的原因应该是neo4j的内部id(n) 被复用导致的,线上有定时清理过期数据的任务,后面我导数据的时候限制了id(n) 的范围,并且关闭了删除数据的任务,等着我限定id(n)范围内的id都被复用完之后导入的,这样导入后可以了。

exec: "match (n:mobile) where id (n) < 300000000 retruen n.vid as id order by (n.id)"
4 个赞

感谢反馈 :blush: