Spark精华问答 | spark性能优化方法
Hadoop再火,火得過Spark嗎?今天我們繼續關于Spark的精華問答吧。
1
Q:影響性能的主要因素是什么?
A:網絡傳輸開銷大
硬件資源利用率低
同一資源的復用率低
Q:優化的方向有哪些?
A:設置數據本地化,減少跨節點跨機架的網絡傳輸開銷
設置合適的存儲格式,推薦orc,縮短查詢時間
設置內存計算的大小和task數量,根據集群內存和磁盤大小調整
調整分區數量,提高查詢性能
減少RDD的重復創建,同時盡可能復用已存在的RDD
減少使用shuffle類算子(reduceByKey,join,distinct,repartition)
選擇可替代的最佳算子,reduceByKey替代groupByKey,mapPartitions替代map
避免數據傾斜,如map端Join,對數據深入理解的前提修改key調整reduce端的數據傾斜
提高spark最大的瓶頸-內存
3
Q:優化的手段
A:調優參數雖名目多樣,但最終目的是提高CPU利用率,降低帶寬IO,提高緩存命中率,減少數據落盤。?(以下參數主要用于Spark Thriftserver,僅供參考)
Q:Spark生態圈介紹
A:Spark力圖整合機器學習(MLib)、圖算法(GraphX)、流式計算(Spark Streaming)和數據倉庫(Spark SQL)等領域,通過計算引擎Spark,彈性分布式數據集(RDD),架構出一個新的大數據應用平臺。
??? Spark生態圈以HDFS、S3、Techyon為底層存儲引擎,以Yarn、Mesos和Standlone作為資源調度引擎;使用Spark,可以實現MapReduce應用;基于Spark,Spark SQL可以實現即席查詢,Spark Streaming可以處理實時應用,MLib可以實現機器學習算法,GraphX可以實現圖計算,SparkR可以實現復雜數學計算。
Q:Spark?SQL
A:基于HiveQL與Spark交互的API接口,將一個數據庫表看作一個RDD進行操作
數據類型為DataFrame,支持結構化的數據文件,Hive表和已存在的RDD
兼容性好,支持nosql數據庫
通過內存列存儲技術和字節碼生成技術實現空間占用量,讀取吞吐率和SQL表達式的優化,查詢性能高
小伙伴們沖鴨,后臺留言區等著你!
關于Spark,今天你學到了什么?還有哪些不懂的?除此還對哪些話題感興趣?快來留言區打卡啦!留言方式:打開第XX天,答:……
同時歡迎大家搜集更多問題,投稿給我們!風里雨里留言區里等你~
福利
1、掃描添加小編微信,備注“姓名+公司職位”,加入【云計算學習交流群】,和志同道合的朋友們共同打卡學習!
2、公眾號后臺回復:白皮書,獲取IDC最新數據白皮書整理資料!
推薦閱讀:
- 三十四載Windows崛起之路:?蘋果、可視做過微軟“鋪路石” 
- 面試官:你簡歷中寫用過docker,能說說容器和鏡像的區別嗎? 
- 2019年技術盤點容器篇(二):聽騰訊云講講踏入成熟期的容器技術 | 程序員硬核評測 
- C++、Python、Rust、Scala構建編譯器的差異性究竟有多大? 
- 想換行做 5G 的開發者到底該咋辦? 
- 如何在標準的機器學習流程上玩出新花樣? 
- 獨家 | Vitalik Buterin:以太坊2.0之跨分片交易 
- 滴滴章文嵩:不僅軟件開源,還向學界開放數據 
 真香,朕在看了!
總結
以上是生活随笔為你收集整理的Spark精华问答 | spark性能优化方法的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: boost::container模块实现
- 下一篇: 如何查招商银行的信用卡余额 这几个方法都
