Spark的核心調優參數是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
10多年的興寧網站建設經驗,針對設計、前端、開發、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網整合營銷推廣的優勢是能夠根據用戶設備顯示端的尺寸不同,自動調整興寧建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優雅布局與設計,從而大程度地提升瀏覽體驗。創新互聯公司從事“興寧網站設計”,“興寧網站推廣”以來,每個客戶項目都認真落實執行。num-executors:
該參數用于設置Spark作業總共要用多少個Executor進程來執行。Driver在向YARN集群管理器申請資源時,YARN集群管理器會盡可能按照你的設置來在集群的各個工作節點上,啟動相應數量的Executor進程。這個參數非常之重要,如果不設置的話,默認只會給你啟動少量的Executor進程,此時你的Spark作業的運行速度是非常慢的。(建議50~100個左右的Executor進程)
executor-memory:
該參數用于設置每個Executor進程的內存。Executor內存的大小,很多時候直接決定了Spark作業的性能,而且跟常見的JVMOOM異常,也有直接的關聯。(根據作業大小不同,建議設置4G~8G,num-executors乘以executor-memory,是不能超過隊列的較大內存量的)
executor-cores:
該參數用于設置每個Executor進程的CPUcore數量。這個參數決定了每個Executor進程并行執行task線程的能力。因為每個CPUcore同一時間只能執行一個task線程,因此每個Executor進程的CPUcore數量越多,越能夠快速地執行完分配給自己的所有task線程。(建議設置為2~4個,且num-executors*executor-cores不要超過隊列總CPUcore的1/3~1/2)
driver-memory:
該參數用于設置Driver進程的內存(建議設置512M到1G)。
spark.default.parallelism:
該參數用于設置每個stage的默認task數量。這個參數極為重要,如果不設置可能會直接影響你的Spark作業性能。(建議為50~500左右,缺省情況下Spark自己根據底層HDFS的block數量來設置task的數量,默認是一個HDFSblock對應一個task。Spark官網建議設置該參數為num-executors*executor-cores的2~3倍較為合適)
spark.storage.memoryFraction:
該參數用于設置RDD持久化數據在Executor內存中能占的比例,默認是0.6(原則上是盡可能保證數據能夠全部在內存中,但如果發現作業發生頻繁的GC,就該考慮是否調小)
spark.shuffle.memoryFraction:
該參數用于設置shuffle過程中一個task拉取到上個stage的task的輸出后,進行聚合操作時能夠使用的Executor內存的比例,默認是0.2。也就是說,Executor默認只有20%的內存用來進行該操作。shuffle操作在進行聚合時,如果發現使用的內存超出了這個20%的限制,那么多余的數據就會溢寫到磁盤文件中去,此時就會極大地降低性能。(shuffle操作較多時,建議降低持久化操作的內存占比,提高shuffle操作的內存占比比例,避免shuffle過程中數據過多時內存不夠用,必須溢寫到磁盤上,降低了性能)
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯網站建設公司,的支持。
網站題目:Spark的核心調優參數是什么-創新互聯
文章起源:http://m.newbst.com/article48/dsgehp.html
成都網站建設公司_創新互聯,為您提供網站維護、軟件開發、Google、網站內鏈、標簽優化、電子商務
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯