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

相关推荐
她说人狗殊途2 分钟前
Spring IoC容器加载过程 vs Bean生命周期对应关系图
java·开发语言·rpc
std78797 分钟前
超越编辑器:IntelliJ IDEA,如何成为Java开发的智慧引擎
java·编辑器·intellij-idea
Zz_waiting.17 分钟前
Spring 统一功能处理 - 拦截器与适配器
java·spring·拦截器·适配器·dispatcher
yinke小琪28 分钟前
凌晨2点,我删光了所有“精通多线程”的代码
java·后端·面试
珹洺1 小时前
Java-Spring入门指南(十一)代理模式与Spring AOP实战
java·spring·代理模式
JAVA学习通1 小时前
微服务项目->在线oj系统(Java-Spring)--增删改
java·开发语言·spring
一休哥助手1 小时前
Apache Flink:流处理革命的领导者与新一代大数据计算引擎
大数据·flink·apache
道可到1 小时前
字节面试 Java 面试通关笔记 03| java 如何实现的动态加载(面试可复述版)
java·后端·面试
聪明的笨猪猪1 小时前
Spring Boot & Spring Cloud高频面试清单(含通俗理解+生活案例)
java·经验分享·笔记·面试
LoveXming1 小时前
Chapter9—享元模式
java·c++·设计模式·享元模式·开闭原则