实时计算Flink输出数据至Tablestore结果表

已解决

实时计算Flink输出数据至Tablestore结果表

展开
收起
阿里云服务支持 2022-12-16 10:27:25 242 分享 版权
2 条回答
写回答
取消 提交回答
  • 官方回答
    2022-12-16 10:43:10
    赞同 展开评论
  • 十分耕耘,一定会有一分收获!

    楼主看看这个,1.flink sql中双流join的历史数据存在state中,且这些数据是有时效性的,默认36小时,flink启动时,所有涉及到的表数据都被flink加载到state中,36小时之后,state数据会失效(期中如果有更新,会刷新36小时的有效期),此时,flink监听mysql binlog之后join不到数据,部分数据会丢失.

    2.如果有多个flink作业同时启动,且监听的mysql地址在一起,会经常报错,导致flink重启(可使用/*+ OPTIONS('server-id'='5430-5439') */语法指定监听binlog的server-id解决该问题),具体原因是mysql cdc source会伪装成mysql集群中的一个slave,每个slave对于主库来说拥有唯一的id,也就是serverId,同时每个serverid下也会记录不用的binlog点位,如果多个slave享有同样的serverid,会导致数据拉取错乱,如果不指定,会随机分配一个,很容易发生重复,最好是各个团队约定好,指定一个唯一的serverid. 3.flink sql自身不支持直接同步elastic search中的nested类型字段(后面调研发现,可以使用UDF上传jar包的方式实现自定义函数)

    2022-12-16 10:51:05
    赞同 展开评论

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

收录在圈子:
作为全球云计算的领先者,阿里云为全球230万企业提供着云计算服务,服务范围覆盖200多个国家和地区。我们致力于为企业、政府等组织机构提供安全可靠的云计算服务,给用户带来极速愉悦的服务体验。
还有其他疑问?
咨询AI助理