使flink支持将聚合结果写入kafka
更多信息查看这个文章
https://blog.csdn.net/qq_31866793/article/details/107785651
版本 flink 1.11.0
报错信息
kafkaSink' doesn't support consuming update changes which is produced by node xxxxxxxxxxxxxxx
更改后依然存在的问题
会将中间的聚合结果写入kafka,需要下游对数据去重
更改办法
1. 在源码中找到这个类
JsonFormatFactory
2. 更改源码
@Override
public ChangelogMode getChangelogMode() {
return ChangelogMode.newBuilder()
.addContainedKind(RowKind.INSERT)
.addContainedKind(RowKind.UPDATE_AFTER)
.addContainedKind(RowKind.UPDATE_BEFORE)
.addContainedKind(RowKind.DELETE)
.build();
}
3. 创建同名文件夹org.apache.flink.formats.json,把改好的文件放到这个目录下
4. maven clean 再运行
测试案例