flinkcdc 体验

0 flink版本 踩雷

java代码操作 flink Table/SQL API 和 DataStream API 编写程序后,打成jar包丢到flink集群运行,报错首选需要考虑flink集群版本和 jar包中maven依赖的版本是否一致。

目前网上flink、flinkcdc相关博文绝大部分是基于flink1.13、1.14编写的,而我的flink集群是1.15!

而flink1.15由于只支持scala-2.12,所以maven依赖包名发生了改变

bash 复制代码
<!-- 1.15之前的版本 artifactId 会有一个用来区分不同scala版本的"_2.12"、"_2.11"后缀 -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-streaming-java_2.12</artifactId>
    <version>1.14.5</version>
</dependency>

<!-- 1.15版本的 artifactId 没有用来区分不同scala版本的"_2.12"后缀,原因也是1.15只支持scala-2.12 -->
<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-streaming-java</artifactId>
    <version>1.15.2</version>
</dependency>

需要特别说明的是,在flink-connector-mysql-cdc模块的pom文件中,有一个flink-table-planner的依赖,这个依赖的 artifactId 不用更改,这个依赖在1.15版本中,artifactId 也是带 scala版本后缀的

bash 复制代码
<dependency>
            <groupId>org.apache.flink</groupId>
            <artifactId>flink-table-planner_2.12</artifactId>
            <version>1.15.2</version>
        </dependency>

我是文章1文章2才知道踩的这个坑

如果你的flink集群是1.13 ,请参考这篇教程一文弄懂Flink CDC

如果你想开发完后将任务丢到flink集群上运行,请根据你的flink集群版本选择正确的maven依赖!!

相关推荐
软件开发-NETKF888811 分钟前
JSP到Tomcat特详细教程
java·开发语言·tomcat·jsp·项目运行
渣哥15 分钟前
为什么 JDK 1.8 要给 HashMap 加红黑树?
java
我登哥MVP16 分钟前
Java 网络编程学习笔记
java·网络·学习
大厂码农老A22 分钟前
面试官:“聊聊你最复杂的项目?” 为什么90%的候选人第一句就栽了?
java·面试
爱读源码的大都督29 分钟前
Java已死?别慌,看我如何用Java手写一个Qwen Code Agent,拯救Java
java·人工智能·后端
lssjzmn29 分钟前
性能飙升!Spring异步流式响应终极指南:ResponseBodyEmitter实战与架构思考
java·前端·架构
LiuYaoheng1 小时前
【Android】View 的基础知识
android·java·笔记·学习
勇往直前plus1 小时前
Sentinel微服务保护
java·spring boot·微服务·sentinel
星辰大海的精灵1 小时前
SpringBoot与Quartz整合,实现订单自动取消功能
java·后端·算法
小鸡脚来咯1 小时前
一个Java的main方法在JVM中的执行流程
java·开发语言·jvm