flink sink SR 更新部分字段的疑问?

【详述】Flink DataStream方式导入数据到Starrocks2.5,发现没有部分字段更新的模型。
【导入或者导出方式】Flink DataStream
【导入过程相关代码描述】Flink取读本地文件,将文件中的Json转成与Starrocks对应表的entity,写好对应的Schema后,通过StarrocksSInk将数据写入Starrocks。
【导入过程相关代码截图】

【问题点】官网代码示例中需要在StarRocksSinkOptions中配置主键以及需要更新的列,但是如果我要更新的列有N个,是不是就要写N个StarRocksSinkOptions来实现,有无更好的解决方案呢
例如: 方案A : 在执行更新操作前,从SR查一次数据,在FLink端将SR查到的结果与本地数据合并,最后插入SR。 因为需要与FE交互,担心影响写入效率。
方案B: 增加Redis/Hbase/mongo 缺点是需要额外考虑,与SR数据一致性的问题。
综上,想咨询以下各位大佬,有么有遇到这种场景呢,有没有好的解决方案
【联系方式】yangyuelong8888@163.com

不用写N个StarRocksSinkOptions,只需要将N个要更新的列名写到columns里

比如用户昵称字段,用户如果修改个人资料的时候,没有修改昵称,那么昵称字段不会写到kafka,此时如果我把昵称字段写入 columns,不就把这个字段更新成空了么

部分列更新目前确实还不支持动态列

这种的话可以考虑使用修改mysql这种tp表,然后使用kafka或flink监听mysql binlog,消费写入starrocks的形式

1赞

好的,我研究一下。谢谢~