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依赖!!

相关推荐
无理 Java23 分钟前
【技术详解】SpringMVC框架全面解析:从入门到精通(SpringMVC)
java·后端·spring·面试·mvc·框架·springmvc
gobeyye1 小时前
spring loC&DI 详解
java·spring·rpc
鱼跃鹰飞1 小时前
Leecode热题100-295.数据流中的中位数
java·服务器·开发语言·前端·算法·leetcode·面试
我是浮夸1 小时前
MyBatisPlus——学习笔记
java·spring boot·mybatis
TANGLONG2221 小时前
【C语言】数据在内存中的存储(万字解析)
java·c语言·c++·python·考研·面试·蓝桥杯
杨荧1 小时前
【JAVA开源】基于Vue和SpringBoot的水果购物网站
java·开发语言·vue.js·spring boot·spring cloud·开源
Leighteen2 小时前
ThreadLocal内存泄漏分析
java
java6666688882 小时前
Java中的对象生命周期管理:从Spring Bean到JVM对象的深度解析
java·jvm·spring
州周2 小时前
Flink一点整理
大数据·flink
柚乐果果2 小时前
数据分析实战简例
java·大数据·python