数据信息
源数据中包含两张数据表
用户表
id | name | device_id |
---|---|---|
11 | jack | 1 |
22 | rose | 2 |
设备表
device_id | os |
---|---|
1 | ios |
2 | android |
3 | windows |
源数据与tag的关系
- nebula中构建device这个tag
- 设备表中,device_id列作为VertexID,os列作为属性,导入至device这个tag
- 用户表中,device_id列作为VertexID,导入至device这个tag
特殊的插入场景
- 针对设备表和用户表中可能有相同device_id的情况,目前看起来Exchange使用的是INSERT,遵循的是依照最新的插入为准。因此,设备表对应信息的插入将覆盖用户表先前的插入,这是我们希望的。
- 不过,对于来自用户表的对同一个device_id的新插入,我们希望消极处理,即不做插入。
现状
-
目前,对于初始数据,我们可通过先导入用户表信息,再导入设备表信息的方式达到上述目的
-
但是,对于后续的增量数据,用户表和设备表的到来没有先后顺序,因此会存在用户表的相关信息覆盖掉设备表之前的插入
-
总之,不知道Exchange是否有或者可以提供一种配置参数,用于指定VertexID已存在于tag的场景下,是进行覆盖插入或者忽略这次插入。不知道这个需求是否合理以及常见?