91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

尖扎县| 禹城市| 青海省| 香河县| 东乡县| 汝州市| 苍南县| 霍州市| 文山县| 黄冈市| 龙江县| 伊宁县| 四会市| 彰武县| 昭通市| 福鼎市| 犍为县| 太原市| 丹棱县| 罗甸县| 灵寿县| 长葛市| 连州市| 辛集市| 柳河县| 长沙市| 新蔡县| 漯河市| 岳阳市| 怀宁县| 嘉善县| 神池县| 元氏县| 日喀则市| 称多县| 云林县| 万山特区| 阳西县| 长阳| 临澧县| 隆林|