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