中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Apache Flink如何設置并行度

發布時間:2021-12-28 11:58:44 來源:億速云 閱讀:270 作者:小新 欄目:云計算

這篇文章將為大家詳細講解有關Apache Flink如何設置并行度,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

在使用Apache Flink對數據進行處理時候,通常需要設置并行度。并行度是Apache Flink中一個非常重要的概念。設置合理的并行度能夠加快數據的處理效率,不合理的并行度會造成效率降低甚至是任務出錯。
Apache Flink程序包含多個任務(source,transformations/operators,sink)。這些任務使用幾個并行實例所進行執行,這些并行的實例稱之為并行度。

 
 

如何設置并行度

Apache Flink支持在不同的級別設置并行度。配置文件、env級別、算子級別。

  1. 配置文件默認
    在我們提交一個Job的時候如果沒有考慮并行度的話,那么Flink會使用默認配置文件中的并行度。我們可以通過命令查看Flink配置文件的并行度。

$ cat flink-conf.yaml |grep "parallelism.default"
parallelism.default: 1
 

例如當前獲取到的并行度為1。也就是說當你不設置并行度的時候它就會使用配置文件默認的并行度 1
2.  env級別
env的級別就是Environment級別。也就是通過Execution Environment來設置整體的Job并行度。

val env = Stream...
env.setParallelism(5)
 
  1. 客戶端級別
    如果在執行Job時候,發現代碼中沒有設置并行度而又不修改配置文件的話,可以通過Client來設置Job的并行度。

./bin/flink run -p 5 ../wordCount-java*.jar
 

-p即設置WordCount的Job并行度為5。4.  算子級別
我們在編寫Flink項目時,可能對于不同的Operator設置不同的并行度,例如為了實現讀取Kafka的最高效讀取需要參考Kafka的partition的數量對并行度進行設置,在Sink時需要對于Sink的介質設置不同的并行度。這樣就會存在一個Job需要有多個并行度。這樣就需要用到算子級別的并行度設置

val env = Stream...
val text = ...
text.keyBy(XXX)
   .flatMap(XXX).setParallelism(5)  //計算時設置為5
   .addSink(XXXXX).setParallelism(1) //寫入數據庫時候設置為1
 
  • 并行度的高級別會覆蓋低級別的配置。例如在算子中設置的策略會覆蓋配置文件中的parallelism

從優先級上來看:  算子級別 > env級別 > Client級別 > 系統默認級別

在實際的使用中,我們需要設置合理的并行度來保證數據的高效處理,在一般情況下例如source,Sink等可能會需要不同的并行度來保證數據的快速讀取與寫入負載等。

Apache Flink如何設置并行度  
 

并行度設置的數量

Apache Flink的并行度設置并不是說越大越好、數據處理的效率就越高。而是需要設置合理的并行度。那么何謂合理呢?
Apache Flink的 并行度取決于每個TaskManager上的slot數量而決定的。Flink的JobManager把任務分成子任務提交給slot進行執行。相同的slot共享相同的JVM資源,同時對Flink提供維護的心跳等信息。
slot是指TaskManagere的并發執行能力,通常來說TaskManager有多少核CPU也就會有多少個slot。這樣來看,我們設置的并行度其實是與TaskManager所有Slot數量有關的

關于“Apache Flink如何設置并行度”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

神农架林区| 手机| 乌拉特后旗| 六枝特区| 铜陵市| 东丰县| 大姚县| 兴国县| 柳林县| 瑞金市| 师宗县| 拜泉县| 逊克县| 巴彦县| 浠水县| 平凉市| 图木舒克市| 杭州市| 庄河市| 东辽县| 建昌县| 额敏县| 横山县| 罗山县| 政和县| 调兵山市| 娱乐| 芒康县| 芜湖县| 读书| 固始县| 巴楚县| 乳山市| 泗阳县| 石渠县| 土默特左旗| 佛教| 临江市| 浙江省| 弋阳县| 宁津县|