Apache Flink——DataStream API 执行环境
理解问题Apache Flink——DataStream API 执行环境
已完成理解「Apache Flink——DataStream API 执行环境」
展开阅读网页
Apache Flink是一个强大的流处理框架,其核心层API是DataStream API。在Flink程序中,执行环境起着至关重要的作用,它为流式程序的执行提供了上下文。以下是关于Flink DataStream API执行环境的详细信息:
执行环境的创建和配置
-
创建执行环境:每个Flink应用程序都需要一个执行环境,通常用
env
表示。流式应用需要使用StreamExecutionEnvironment
。通过调用getExecutionEnvironment()
方法可以获取默认的执行环境,或者使用createLocalEnvironment()
和createRemoteEnvironment()
来创建本地或远程执行环境567111214。 -
配置执行模式:执行环境支持不同的执行模式,如BATCH模式,可以通过特定的配置方法来设置6。
执行环境的作用
-
构建作业图:DataStream API将应用程序构建为一个作业图(job graph),并附加到
StreamExecutionEnvironment
。这个作业图在调用env.execute()
时被打包并发送到JobManager,由JobManager负责作业的并行处理和子任务的分配816。 -
创建源和接收器:执行环境允许开发者创建数据流的源(source)和接收器(sink),这是流处理程序中数据输入和输出的关键部分9。
执行环境的类型
其他注意事项
- 环境准备:在使用Python DataStream API时,需要安装PyFlink,它发布在PyPI上,可以通过pip安装17。
- Java和Scala支持:Java DataStream API的核心类可以在
org.apache.flink.streaming.api.scala
包中找到,而Scala的DataStream API则提供了对可序列化对象的转换支持,包括基本类型和复合类型151819。
通过上述信息,我们可以看到执行环境在Flink DataStream API中扮演着核心角色,它不仅负责作业的配置和执行,还涉及到作业图的构建和任务的分配。开发者需要熟悉如何创建和配置执行环境,以便有效地开发和部署Flink流处理应用程序。
DataStream API 执行环境5 | 执行环境定义 每个 Flink 应用都需要有执行环境,用于构建 job graph。 |
创建执行环境6 | 执行环境创建 通过 getExecutionEnvironment 或 createLocalEnvironment 创建执行环境。 |
执行模式配置6 | 执行模式设置 配置 BATCH 模式,影响程序执行方式。 |
StreamExecutionEnvironment 声明7 | 流式程序上下文 声明执行环境,设置作业属性,创建源,触发作业执行。 |
执行环境与 job graph8 | job graph 构建 DataStream API 将应用构建为 job graph,附加到执行环境。 |
执行环境的执行8 | 作业执行触发 调用 env.execute() 打包并发送 job graph 至 JobManager。 |
StreamExecutionEnvironment5 | 执行环境基础 流式应用的核心,用于设置作业属性、创建源、触发执行。 |
JobManager8 | 作业管理器 负责作业的并行处理和子任务的分配给Task Manager。 |
TaskManager8 | 任务管理器 执行JobManager分配的子任务,参与作业的并行处理。 |
StreamExecutionEnvironment7 | 执行环境基础 流式程序执行的上下文,用于设置作业属性和触发作业执行。 |
JobManager16 | 作业管理器 负责作业的并行处理和子任务的分配给Task Manager。 |
TaskManager16 | 任务管理器 接收JobManager分配的子任务并执行。 |