【已解决】救命家人们,请教一个ODS层新增一个字段的问题

Viewed 51

我们公司刚开始使用Doris ,版本是 2.0.5-rc02
请教大家一个问题
先说一个业务背景:

  1. 目前Mysql 业务数据使用Flink CDC SQL 写入 Doris 的ODS 层,
  2. ODS 表中层使用unique K 模型存储,没有开启 Merge_On_Write,没有开启light_schema_change,也没有开启部分列更新
  3. 现在Flink CDC 上游的Source业务表(比如销售订单表)要有一个新增的业务字段,目前需求是想同步这个MySQL新增字段到Doris ODS层的表中
  4. 目前的做法是只能删掉ODS层的原表,重新新建一张带有新字段的ODS层表,再修改Flink CDC SQL 的同步语句,重新开始消费Source表进行同步
  5. 数据量小的情况下这种方案还算可以,但是数据量大的话,这种做法代价太大了, 请问大家有没有什么好的解决方案呢?
    5.1 我们目前是使用了 Alter Table ADD COLUMN 命令去把Doris ODS层的表中新增一个要同步的字段,然后修改Flink CDC SQL 同步语句,重新消费source表
    因为ODS 层是unique K 模型,CDC 同步过来的数据会根据主键进行比较,一行一行进行替换,因此这种做法代价开销比较大,请问有什么好的解决方案吗?
3 Answers

为什么 Merge_On_Write和light_schema_change不开启呢?Flink-Doris-Connector整库同步是可以同步DDL的,或者自己写datastream实现单表DDL,只是flinksql单表cdc,那只能手动了

我在这里补充一个cdc到doris的文档。补充完,到时贴给大家。