基于流计算 Oceanus(Flink) CDC 做好数据集成场景

本文分享了作者在使用Flink进行实时开发时遇到的问题,如版本不匹配导致的错误处理、自动检查点策略、自定义序列化器以及性能优化中的检查点调整,适用于Flink初学者和小团队参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于第一次做实时,所以踩坑比较多,见谅(测试环境用的flink),小公司没有用到hadoop组件

一、踩坑记录

1:本地代码的flink版本是flink1.15.4,生产环境是flink1.16.1,在使用侧输出流时报错,需要使用以下写法,需要使用SideOutputDataStream不能用DataStream,同时将pom下的flink版本切换为1.16.1

SideOutputDataStream<String> tblHotelGuestSnapStreamDS = processedDS.getSideOutput(tblHotelGuestSnaptag);

2: Oceanus环境运行flink时候会默认使用RocksDB State Backend,不需要再手动配置检查点

3:可以利用checkpoint检查点来保证数据的端到端一致

4:打包可以使用maven协助打包

5: bin/start-cluster.sh启动后测试环境的8081无法访问,需要修改flink-conf.yml的属性rest.bind-address: 0.0.0.0和rest.bind-port: 8081和rest.port: 8081,之后重启就可以访问

6.mysql时间字段是datetime类型格式,使用默认的json序列化器会将时间格式转换成时间戳格式,最后写入starrocks后发现写入没有报错,但是时间字段为空,需要自定义序列化器,将时间戳格式数据转换成时间格式即可

7.flink读取mysql写入starrocks发现写入starrocks延迟很高,但是直接打印发现数据基本秒到,发现是检查点的问题,需要降低检查点的时间大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值