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

相关推荐
Apex Predator3 分钟前
windows安装maven环境
java·maven
Bug退退退12311 分钟前
RabbitMQ 工作模式
java·分布式·rabbitmq
小莫分享1 小时前
github 镜像节点
java
链上Sniper2 小时前
智能合约状态快照技术:实现 EVM 状态的快速同步与回滚
java·大数据·linux·运维·web3·区块链·智能合约
缘来是庄2 小时前
设计模式之建造者模式
java·设计模式·建造者模式
小湘西2 小时前
Apache HttpClient 的请求模型和 I/O 类型
java·http·apache
沃夫上校3 小时前
Feign调Post接口异常:Incomplete output stream
java·后端·微服务
q567315233 小时前
Java Selenium反爬虫技术方案
java·爬虫·selenium
张小洛3 小时前
Spring IOC容器核心阶段解密:★Bean实例化全流程深度剖析★
java·后端·spring·ioc容器·bean实例化
不良手残3 小时前
IDEA类和方法注释模板设置-保姆教程
java·开发语言