57、Flink 的项目配置概述

1)概览
1.开始

要开始使用 Flink 应用程序,请使用以下命令、脚本和模板来创建 Flink 项目。

可以使用如下的 Maven 命令或快速启动脚本,基于原型创建一个项目。

a)Maven 命令
复制代码
mvn archetype:generate                \
  -DarchetypeGroupId=org.apache.flink   \
  -DarchetypeArtifactId=flink-quickstart-java \
  -DarchetypeVersion=1.19.0
b)快速启动脚本
复制代码
curl https://flink.apache.org/q/quickstart.sh | bash -s 1.19.0
2.需要哪些依赖

要开始一个 Flink 作业,通常需要如下依赖项:

  • Flink API,用来开发你的作业
  • 连接器和格式,以将你的作业与外部系统集成
  • 测试实用程序,以测试你的作业

除此之外,若要开发自定义功能,还要添加必要的第三方依赖项。

Flink 提供了两大 API:Datastream API 和 Table API & SQL,它们可以单独使用,也可以混合使用,具体取决于你的使用场景

你要使用的 API 你需要添加的依赖项
DataStream flink-streaming-java
DataStream Scala 版 flink-streaming-scala_2.12
Table API flink-table-api-java
Table API Scala 版 flink-table-api-scala_2.12
Table API + DataStream flink-table-api-java-bridge
Table API + DataStream Scala 版 flink-table-api-scala-bridge_2.12
4.运行和打包

如果想通过简单地执行主类来运行作业,需要 classpath 里包含 flink-clients。对于 Table API 程序,还需要在 classpath 中包含 flink-table-runtimeflink-table-planner-loader

根据经验,建议 将应用程序代码及其所有必需的依赖项打包进一个 fat/uber JAR 包含所有依赖项和代码的 JAR中。这包括打包作业用到的连接器、格式和第三方依赖项;此规则不适用于 Java API、DataStream Scala API 以及前面提到的运行时模块,它们已经由 Flink 本身提供,不应包含在作业的 uber JAR 中。

可以把该作业 JAR 提交到已经运行的 Flink 集群,也可以轻松将其添加到 Flink 应用程序容器镜像中,而无需修改发行版。

相关推荐
随遇而安zx9 分钟前
【多线程】---AQS 原理 知识点(设计思想与源码深度解析)
java·多线程·aqs
LXMXHJ13 分钟前
springboot中的线程操作
java·spring boot·后端·线程
敲代码的嘎仔20 分钟前
自己设计了一个兑换码算法:自增ID + Base32转码 + 按位加权签名 + 异或混淆,面试被追问细节时终于不用慌了
java·数据库·mysql·算法·微服务·面试·职场和发展
m0_587383001 小时前
外卖CPS系统开发实战:从架构设计到运营落地全指南
java·spring·小程序·架构·需求分析
zhangzeyuaaa1 小时前
Python asyncio 事件循环演进:从手动管理到现代化实践
java·服务器·python
学编程就要猛1 小时前
流式编程及Spring中SSE实现
java·后端·spring·流式编程
随遇而安zx2 小时前
【多线程】---ConcurrentHashMap 源码解析
java·多线程·并发
不才不才不不才2 小时前
Spring 源码系列(27): @Transactional 七大失效场景与源码归因
java·后端·spring
随遇而安zx2 小时前
【多线程】---线程池 ThreadPoolExecutor 原理与调优
java·线程池·多线程
抠脚小弟2 小时前
WebSocketServer 使用详解:从入门到实战
java·spring·websocketserver