脏数据大量删除无效

脏点关联百万边删除无效:

问题:

  • 如下id为 “,”的脏点,关联了200w个脏边,目标利用已有脏数据的全部边导入信息,删除这个脏点关联的全部边

途径:

  • 通过spark-connector执行任务,先查询边是否存在,存在则删除。

结果:

  • 任务正常执行成功,并做compaction。查询涉及到脏数据的边发现只有部分删除。日常不涉及脏数据的普通数据删除是没有问题的。这种使用spark大量删除同一顶点相关边数据是否有问题。请教下如何稳妥删除这200w边呢强调文本

  • nebula 版本:2.5
  • 部署方式:3台SSD 三副本分布式
  • 安装方式: RPM
  • 是否为线上版本:Y
  • 硬件信息
    • 磁盘( SSD)
    • CPU、内存信息
    • 数据总量 70亿

有具体的执行语句吗?

每条在关系型数据库记录的脏数据会先经过:
(1)GO FROM “$src” over $edgeType yield$edgeType._dst AS dst,$edgeType._rank AS ts;
进行查询nebula是否存在该边。若起始点,终点,rank值都一致,进行(2)删除此边
(2)DELETE EDGE $edgeType “$src”->"$tar"@$ts;

同时更新点属性:(关联点属性记录边条数,删除后关联点属性需要相应-1)
UPSERT VERTEX ON $tarType “$tar” SET properties = properties- 1 WHEN properties>0;

在之前没有遇到 删除某个点关联的百万条边时,执行结果还是准确的。

properties 更新正确了吗?

这个是点操作 ,这里单纯指稠密点相关的边删除无效,任务成功的情况。沟通得知之前也是有这样的问题的

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。