Flink提供了三种创建Environment的方式:
StreamExecutionEnvironment#getExecutionEnvironment()StreamExecutionEnvironment#createLocalEnvironment()StreamExecutionEnvironment#createRemoteEnvironment()
第一种是比较高层的创建方式,隐藏了一些细节,其底层原理还是 createLocalEnvironment 和 createRemoteEnvironment 。但是为什么还要有 getExecutionEnvironment() ?因为我们开发时肯定是本地环境( LocalEnvironment ),如果要发布时还要改为( RemoteEnvironment )就很麻烦
| 方法 | 作用 |
|---|---|
| getExecutionEnvironment | 该方法会根据不同的运行方式选择创建不同的执行环境:如果程序是独立执行的,则此方法返回本地执行环境;如果从命令行客户端调用程序以提交到集群,则此方法返回此集群的执行环境 |
| createLocalEnvironment | 返回本地执行环境,需要在调用时指定默认的并行度 |
| createRemoteEnvironment | 返回集群执行环境,需要在运行时(运行参数)指定JobManager的IP和端口以及要上传的jar包 |
