flink同步hologress到hologress 流任务,维表改动后 ,没办法更新到主表。这个问

flink同步hologress到hologress 流任务,维表改动后 ,没办法更新到主表。这个问题该怎么解决。

展开
收起
游客3oewgrzrf6o5c 2022-07-20 17:41:06 760 分享 版权
1 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    您好,这个问题可能是由于Flink同步hologress到hologress 流任务时,维表改动后无法更新到主表。这个问题可以通过以下几种方式解决:

    1. 在Flink中使用Hologres的实时同步功能,当上游需要同步的表发生了表结构变更时,随着新数据流到Hologres表时,Flink会先触发Hologres修改相应的表结构,然后再将数据写入到相应位置。

    2. 在Flink中使用预加载维表的方式,在算子的 open 方法中读取 MySQL 或其他存储介质,获取全量维表信息。将维表信息全量保存在内存中。处理数据流时,与内存中的维度进行进行匹配。例如维度信息保存的是商品 Id 与商品类目的映射关系,那么可以从商品的交易日志中读取出相应的商品 Id,然后去维度表中找出对应的商品类目,将交易日志与商品类目组合起来一块发送给下游。如果新上架了一些商品 Id 或者某些商品的类目变了,我们无法更新内存里的维度信息。但我们可以在 open 方法中开启一个一分钟一次的定时调度器,每分钟将维度信息读取一次到内存中,从而实现了维度信息的变更。

    2023-07-26 08:02:50
    赞同 展开评论

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

收录在圈子:
实时计算 Flink 版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于 Apache Flink 构建的企业级、高性能实时大数据处理系统,由 Apache Flink 创始团队官方出品,拥有全球统一商业化品牌,完全兼容开源 Flink API,提供丰富的企业级增值功能。
还有其他疑问?
咨询AI助理