[Flink]Flink1.3 Batch指南一 本地运行
来源:互联网 发布:浙江软件企业认定 编辑:程序博客网 时间:2024/06/01 17:03
Flink可以在单台机器上运行,甚至可以在单个Java虚拟机中运行。 这运行机制可以方便用户在本地测试和调试Flink程序。本节概述了Flink的本地执行机制。
本地环境和执行器(executors)允许你可以在本地Java虚拟机上运行Flink程序,或者是在正在运行程序的Java虚拟机上(with within any JVM as part of existing programs)。对于大部分示例程序而言,你只需简单的地点击你IDE上的运行(Run)按钮就可以执行。
Flink支持两种不同的本地运行机制: (1) LocalExecutionEnvironment
启动完整的Flink运行环境,包括一个JobManager
和一个TaskManager
。这些包含了内存管理以及在集群模式下运行时所运行的所有内部算法。 (2) CollectionEnvironment
在Java集合上运行Flink程序(executing the Flink program on Java collections)。这种模式不会启动完整的Flink运行环境,因此运行开销比较低以及轻量级。例如,DataSet的map转换操作将map()函数应用于Java列表中的所有元素上。
1. 调试
如果你在本地运行Flink程序,还可以像任何其他Java程序一样来调试程序。你可以使用System.out.println()
来打印一些内部变量,也可以使用调试器。可以在map(),reduce()以及所有其他方法中设置断点。请参阅Java API文档中的调试部分,来了解如何使用Java API来测试和本地调试程序。
2. Maven
如果你在Maven项目中开发程序,则必须使用下面依赖关系添加flink-clients
模块:
3. 本地运行环境
LocalEnvironment
是本地运行Flink程序的句柄,可以使用它在本地的JVM,独立运行或嵌入其他程序里运行。
本地运行执行环境通过ExecutionEnvironment.createLocalEnvironment()
方法实例化。默认情况下,Flink将尽可能使用跟你机器CPU核数一样多的本地线程来执行程序。你可以指定程序你想要的并行度。本地运行环境可以通过enableLogging()/disableLogging()
来配置日志的输出。
在大多数情况下,ExecutionEnvironment.getExecutionEnvironment()
是一种更好的选择。当程序在本地启动时(不使用命令行接口),该方法返回LocalEnvironment
,当程序是通过命令行接口提交时,则该方法会返回为在集群中运行提前配置好的运行环境(pre-configured environment for cluster execution)。
在程序执行结束时会返回JobExecutionResult
对象,这个类中包含了程序的运行状态(runtime)和累加器(accumulator)结果。
LocalEnvironment
也可以向Flink传入用户自定义配置。
备注:
4. 集合运行环境
使用CollectionEnvironment
在Java集合上运行,对于运行Flink程序是一种开销比较低的方法。在这种模式中通常用于自动化测试、调试、代码重用等场景。
用户可以使用用于批处理的算法,或者是用于更具交互性的算法(Users can use algorithms implemented for batch processing also for cases that are more interactive)。Flink程序通过稍微修改就可用于处理请求的Java应用服务器。
下面是集合环境的例子:
flink-examples-batch
模块包含一个完整的示例,名称为CollectionExecutionExample
。
备注:
备注:
原文:https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/local_execution.html
- [Flink]Flink1.3 Batch指南一 本地运行
- [Flink]Flink1.3 Batch指南二 集群运行
- [Flink]Flink1.3 指南四 命令行接口
- [Flink]Flink1.3 指南五 指定keys
- [Flink]Flink1.3 指南二 安装与启动
- [Flink]Flink1.3 Stream指南三 窗口分配器
- [Flink]Flink1.3 Stream指南四 窗口函数
- [Flink]Flink1.3 Stream指南五 窗口触发器与驱逐器
- [Flink]Flink1.3 Stream指南六 事件时间与处理时间
- [Flink]Flink1.3 Stream指南七 理解事件时间与Watermarks
- [Flink]Flink1.3 Stream指南八 图解事件时间与Watermarks
- Flink学习记录(一)
- 《Flink学习笔记一》
- Flink local模式运行SocketWordcount
- Flink学习笔记 --- Flink本地(Loacl模式)安装
- Apache Flink(一) 简介
- Flink on YARN快速入门指南
- Spring Batch(一)
- 虚伪是骗子的拿手好戏
- SpringBoot 配置context-path
- sql之left join、right join、inner join的区别
- SX1308
- ros 两轮小车运动模型
- [Flink]Flink1.3 Batch指南一 本地运行
- 编程能力七段论(下)
- Glide 之 自定义 Transformations
- C# 导入EXCEL 报错外部表不是预期的格式错误
- 欢迎使用CSDN-markdown编辑器
- javamail+腾讯企业邮箱SSL协议发送,javamail 邮件发送
- 你对贝叶斯统计都有怎样的理解?
- 手机误删联系人恢复方法 快速找回丢失数据
- Java读取多层级xml文件