[發明專利]一種數據感知的Spark配置參數自動優化方法在審
| 申請號: | 201611182310.5 | 申請日: | 2016-12-20 |
| 公開(公告)號: | CN106648654A | 公開(公告)日: | 2017-05-10 |
| 發明(設計)人: | 羅妮;喻之斌;貝振東;姜春濤;須成忠;熊文 | 申請(專利權)人: | 深圳先進技術研究院 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44;G06K9/62 |
| 代理公司: | 深圳市科進知識產權代理事務所(普通合伙)44316 | 代理人: | 趙勍毅 |
| 地址: | 518055 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 感知 spark 配置 參數 自動 優化 方法 | ||
技術領域
本發明屬于電子信息、大數據、云計算等技術領域,特別涉及一種數據感知的Spark配置參數自動優化方法。
背景技術
Spark是UC Berkeley AMP lab(加州大學伯克利分校的AMP實驗室)所開源的類Hadoop MapReduce通用并行框架。它發展迅速,僅用了短短五年時間,就成為Apache基金的頂級項目。由于Spark具有將中間結果存儲在內存中的特點,Spark運行迭代和交互式程序比傳統的磁盤計算框架Hadoop提高了10倍。由于Spark在大數據分析領域具有重要地位,根據Typesafe公司的調查,2015年已有超過500家企業使用Spark。
配置參數優化一直是大數據系統的研究熱點之一,由于配置參數眾多(多于100個),性能受配置參數影響很大,應用程序具有不同特點。因此使用默認配置遠未達到最佳性能。Spark是一種新興的大數據內存計算框架,由于Spark具有“內存計算”的特性,集群中的所有資源:CPU、網絡帶寬、內存,都會成為制約Spark程序的瓶頸。而不同的Spark應用程序又具有不同特點,比如Kmeans指令局部性好但數據局部性差,PageRank的shuffle和迭代選擇都比KMeans多,WordCount不包含迭代等等。本發明要解決的問題是對特定的集群環境、輸入數據集和應用程序,為自動Spark找到最優的配置參數。
基于隨機森林的Hadoop參數自動優化方法RFHOC(A Random-Forest Approach to Auto-Tuning Hadoop’s Configuration,簡稱RFHOC)是一種針對運行在一個給定集群上的應用程序的配置參數優化方法,主要分為三個步驟:
1.性能測試
2.構建性能模型
3.迭代搜索最優配置
當用戶第一次運行一個Hadoop應用程序時,RFHOC workload profiler收集運行時Hadoop的配置參數和MapReduce階段的執行時間。隨后,不同階段的執行時間和對應的配置參數將作為隨機森林算法的輸入用于構建性能預測模型。RFHOC為map和reduce階段分別構建回歸模型用于預測各個階段的性能。首先每個階段要產生一個訓練集S,S的每一行為向量vj,vj包含了每次執行時間和對應的Hadoop配置參數值。建好性能模型后,RFHOC運用遺傳算法搜索Hadoop最優參數。遺傳算法使用隨機森林模型預測的性能和對應的配置作為輸入做全局搜索。Map和reduce階段的執行時間相加為程序運行的總時間,也是遺傳算法的適應值。
現有技術是手動配置參數和自動配置參數。手動配置參數方法弊端在于太耗時,而且要求用戶對Spark的運行機制、參數的意義,作用和取值范圍具有較深的了解。用戶需要手動增大或減少Spark參數值,然后配置Spark,運行應用程序,找到使執行時間最短的參數值。由于不同集群環境、不同應用程序、和不同輸入數據集的最優配置參數不同,手動配置參數方法是一個耗時、枯燥的工作。
現有的自動配置參數方法缺點在于性能模型精度低、建模成本高。有些方法用人工神經網絡(Artificial Neural Network)、支持向量機(Support Vector Machine)建模,但是若要達到較高精度(10%以內),需要使用很龐大的訓練集。
發明內容
基于上述情況,有必要提供了一種數據感知的Spark配置參數自動優化方法。
一種數據感知的Spark配置參數自動優化方法,包括如下步驟:
收集數據;所述收集數據具體包括:選定Spark應用程序,進一步確定上述應用程序中影響Spark性能的參數,確定上述參數的取值范圍;在取值范圍內隨機生成參數,并生成配置文件配置Spark,配置后運行應用程序并收集數據;所述數據包括但不限于:Spark運行時間、輸入數據集、配置參數值;
構建性能模型;將收集的Spark運行時間、輸入數據集、配置參數值數據構成橫向量,多個向量構成訓練集,通過隨機森林算法對上述訓練集進行建模;
搜索最優配置參數;使用構建好的性能模型,通過遺傳算法搜索最優配置參數。
進一步的,在所述搜索最優配置參數步驟之后還包括一驗證步驟,所述驗證步驟為將搜索到的最優配置參數進行配置Spark,并運行驗證執行時間是否為最短。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳先進技術研究院,未經深圳先進技術研究院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611182310.5/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





