开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

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

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

展开
收起
游客3oewgrzrf6o5c 2022-07-20 17:41:06 666 0
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版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载