- nebula 版本:3.1
- 部署方式:分布式
- 安装方式:RPM
- 是否为线上版本:Y
- 硬件信息
- 磁盘 SSD
- CPU、内存信息
- 问题的具体描述
现在有个场景,需要pyspark写数据到nebula,对已经存在的点,需要做update,而不存在的需要insert。但目前好像不支持upsert这种writemode,请问下,有什么解决方案吗
另外,可以附上支持的所有option吗
现在有个场景,需要pyspark写数据到nebula,对已经存在的点,需要做update,而不存在的需要insert。但目前好像不支持upsert这种writemode,请问下,有什么解决方案吗
另外,可以附上支持的所有option吗
看起来是有 insert, update, delete 三种。不过感觉上你用 insert 一把梭就行。
我们是支持 upsert 语法的。
https://docs.nebula-graph.com.cn/3.3.0/3.ngql-guide/12.vertex-statements/3.upsert-vertex/
还有 insert vertex 的话是覆盖性写入的,一个点可以多次插入属性值,以最后一次为准。
insert不能满足。比如,库里的某个确定的点有name这个属性值,而新来的一批数据里,没有name这个值,而业务需求是,已有的name值不能被新来的数据被覆盖成空,即,更新字段,若新数据无值的话,就不更新。而使用update的话,如果库里没点的话,就会更新失败,而期望是,插入
这个是单机的。pyspark的option没有upsert,会直接报错
或许你可以考虑先读出来再写入。
这个目前upsert是不支持的哦,你的需求应该upsert也不行
是的,试了下,读出来再处理,是可行的,就是不清楚吞吐量如何
此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。