nebualGraph 2.5.0 Nebula Spark Connector用connector update 数据 时 用spark sql select a,b,c from xxx 查出a,b,c 多个字段的数据集,有的字段值是null 这边用update 就覆盖为空了,怎样只更新有值的字段,为空的字段不覆盖更新

nebula 版本:2.0.1
部署方式(分布式 / rpm
是否为线上版本:Y
硬件信息
磁盘ssd 500G
CPU 16C、32G 内存信息
问题的具体描述
用connector update 数据 时 用spark sql select a,b,c from xxx 查出a,b,c 多个字段的数据集,有的字段值是null 这边用update 就覆盖为空了,怎样只更新有值的字段,为空的字段不覆盖更新

目前不支持自动忽略值为null的字段

1 个赞

还有个问题 connector update ,我看了拼接成多个update 语句 UPDATE VERTEX ON Thing 11113656633 SET Thing_name=“xxxx”,Thing_dataSource=“baike.baidu.com###www.iqiyi.com###www.douban.com###maoyan.com”,Thing_nameCh=null ;UPDATE VERTEX ON Thing 3656633 SET Thing_name=“333”,Thing_dataSource=“baike.baidu.com###www.iqiyi.com###www.douban.com###maoyan.com”,Thing_nameCh=null ;
这样前面一个update 语句 id 已经不存在提示not found失败了。导致后面的update 语句没有执行,这个问题你们是有处理吗??

没有,update语句就是值针对已存在的数据做更新。你可以在使用update之前遍历一遍,剔除不存在的id,不过这会很耗时。。。

这个我在失败地方做了补偿机制,失败了就把update 切分成一个个update 重新执行

1 个赞

额 也可以,或者你可以把batch设置成1.

这个我知道,不过batch =1这样就一个一个执行太慢了。还是批量执行,有异常就走补偿机制,重新执行尝试几次这样性能高

欢迎你来提一个pr,在update模式中支持补偿机制啊 :+1: 是否需要补偿机制可以由用户配置。

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