一.Environment概述
一個Flink的程序是從一個Environment開始的
1.1 getExecutionEnvironment
創建一個執行環境,表示當前執行程序的上下文。如果程序是獨立調用的,則此方法返回本地執行環境;如果從命令行客戶端調用程序以提交到集羣,則此方法返回此集羣的執行環境,也就是說,getExecutionEnvironment會根據查詢運行的方式決定返回什麼樣的運行環境,是最常用的一種創建執行環境的方式。
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
如果沒有設置並行度,會以flink-conf.yaml中的配置爲準,默認是1。
1.2 createLocalEnvironment
返回本地執行環境,需要在調用時指定默認的並行度。
LocalStreamEnvironment env = StreamExecutionEnvironment.createLocalEnvironment(1);
1.3 createRemoteEnvironment
返回集羣執行環境,將Jar提交到遠程服務器。需要在調用時指定JobManager的IP和端口號,並指定要在集羣中運行的Jar包。
ExecutionEnvironment env = ExecutionEnvironment
.createRemoteEnvironment("flink-master", 8081, "/home/user/udfs.jar");
這種方法開發調試完成,打包前都得替換爲遠程的路徑,比較麻煩,這類使用的會比較少。