Flink配置【依赖、连接器、类库】

本文介绍了Flink应用的依赖配置,包括核心依赖、连接器和类库的添加,强调了连接器需手动添加,核心依赖应设为provided。同时,提到了Scala版本和Hadoop版本的选择与兼容性,以及如何构建包含所有依赖的应用jar包。
摘要由CSDN通过智能技术生成

一.简介

每个 Flink 应用都需要依赖一组 Flink 类库。Flink 应用至少需要依赖 Flink APIs。许多应用还会额外依赖连接器类库(比如 Kafka、Cassandra 等)。 当用户运行 Flink 应用时(无论是在 IDE 环境下进行测试,还是部署在分布式环境下),运行时类库都必须可用。

二.Flink 核心依赖以及应用依赖

与其他运行用户自定义应用的大多数系统一样,Flink 中有两大类依赖类库:

  • Flink 核心依赖:Flink 本身包含运行所需的一组类和依赖,比如协调、网络通讯、checkpoint、容错处理、API、算子(如窗口操作)、 资源管理等,这些类和依赖形成了 Flink 运行时的核心。当 Flink 应用启动时,这些依赖必须可用。
    这些核心类和依赖被打包在 flink-dist_x.xx-x.xx.jar 里。它们是 Flink中lib 文件夹下的一部分,也是 Flink 基本容器镜像的一部分。 这些依赖类似 Java String 和 List 的核心类库(rt.jar, charsets.jar等)。
    Flink 核心依赖不包含连接器和类库(如 CEP、SQL、ML 等),这样做的目的是默认情况下避免在类路径中具有过多的依赖项和类。 实际上,我们希望尽可能保持核心依赖足够精简,以保证一个较小的默认类路径,并且避免依赖冲突。
  • 用户应用依赖:是指特定的应用程序需要的类库,如连接器,formats等。
    用户应用代码和所需的连接器以及其他类库依赖通常被打包到 application jar 中。
    用户应用程序依赖项不需包括 Flink DataSet / DataStream API 以及运行时依赖项,因为它们已经是 Flink 核心依赖项的一部分。

三.搭建一个项目的基础依赖

开发 Flink 应用程序需要最低限度的 API 依赖。Maven 用户,可以使用 Java 项目模板或者 Scala 项目模板来创建一个包含最初依赖的程序骨架。

手动设置项目时,需要为 Java 或 Scala API 添加以下依赖项(这里以 Maven 语法为例,但也适用于其他构建工具(Gradle、 SBT 等))。

<dependency>
  <groupId>org.apache.flink<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值