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

溫馨提示×

溫馨提示×

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

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

Spark的調優點是什么

發布時間:2021-12-17 09:30:06 來源:億速云 閱讀:135 作者:柒染 欄目:大數據

本篇文章給大家分享的是有關Spark的調優點是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

在利用Spark處理數據時,如果數據量不大,那么Spark的默認配置基本就能滿足實際的業務場景。但是當數據量大的時候,就需要做一定的參數配置調整和優化,以保證業務的安全、穩定的運行。并且在實際優化中,要考慮不同的場景,采取不同的優化策略。
1.合理設置微批處理時間
在SparkSreaming流式處理中,合理的設置微批處理時間(batchDuration)是非常有必要的。
如果batchDuration設置過短,會導致SparkStreaming頻繁提交job。如果每個batchDuration所產生的job不能在這個時間內完成處理,就會造成job不斷堆積,最終導致SparkStreaming發生阻塞,甚至程序宕掉。
需要根據不同的應用場景和硬件配置等確定,可以根據SparkStreaming的可視化監控界面,觀察Total Delay等指標來進行batchDuration的調整。
2.控制消費的最大速率
比如SparkStreaming和Kafka集成,采用direct模式時,需要設置參數spark.streaming.kafka.maxRatePerPartition以控制每個Kafka分區最大消費數。該參數默認沒有上線,即Kafka當中有多少數據它就會直接全部拉出。
但在實際使用中,需要根據生產者寫入Kafka的速率以及消費者本身處理數據的速度綜合考慮。
同時還需要結合上面的batchDuration,使得每個partition拉取的數據,要在每個batchDuration期間順利處理完畢,做到盡可能高的吞吐量,該參數的調整需參考可視化監控界面中的Input Rate和Processing Time。
3.緩存反復使用的"數據集"
Spark中的RDD和SparkStreaming中的DStream,如果被反復的使用,最好利用cache或者persist算子,將"數據集"緩存起來,防止過度的調度資源造成的不必要的開銷。
4.合理的設置GC
JVM垃圾回收是非常消耗性能和時間的,尤其是stop world、full gc非常影響程序的正常運行。
關于JVM和參數配置,建議研讀  《JVM內存管理和垃圾回收》  、  《JVM垃圾回收器、內存分配與回收策略》  、  《內存泄漏、內存溢出和堆外內存,JVM優化配置參數》。
5.合理設置CPU
每個executor可以占用一個或多個core,可以通過觀察CPU的使用率變化來了解計算資源的使用情況。
要避免CPU的使用浪費,比如一個executor占用多個core,但是總的CPU利用率卻不高。此時建議讓每個executor占用相對之前較少的core,同時worker下面增加更多的executor進程來增加并行執行的executor數量,從而提高CPU利用率。同時要考慮內存消耗,畢竟一臺機器運行的executor越多,每個executor的內存就越小,容易產生OOM。
6.使用Kryo進行序列化和反序列化
Spark默認使用Java的序列化機制,但這種Java原生的序列化機制性能卻比Kryo差很多。使用Kryo需要進行設置:
//設置序列化器為KryoSerializer
SparkConf.set("spark.serializer","org.apache.spark.serializer.KryoSerializer")
//注冊要序列化的自定義類型
SparkConf.registerKryoClasses(Array(classOf[CustomClass1],classOf[CustomClass2]))
7.使用高性能的算子
1)使用reduceByKey、aggregateByKey替代groupByKey
2)filter之后進行coalesce操作
3)使用  repartitionAndSortWithinPartition  
替代repartition與sort操作

4)使用mapPartition替代map

5)使用foreachPartition替代foreach

要結合實際使用場景,進行算子的替代優化。

以上就是Spark的調優點是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

抚宁县| 三明市| 浪卡子县| 普兰店市| 蕲春县| 新乡市| 长岭县| 柞水县| 巩义市| 西青区| 电白县| 昌吉市| 芜湖市| 合川市| 府谷县| 佛学| 襄汾县| 嘉禾县| 盐源县| 吴堡县| 辛集市| 迭部县| 肥乡县| 香格里拉县| 宜兰市| 时尚| 武功县| 墨竹工卡县| 长顺县| 沽源县| 浑源县| 蒲江县| 福鼎市| 忻城县| 东至县| 凤阳县| 永善县| 体育| 桦甸市| 莎车县| 五峰|