【技術實現步驟摘要】
本專利技術涉及數據處理,尤其涉及一種分布式數據處理方法。
技術介紹
1、借助pyspark技術,spark開發者可以在spark任務中使用python,從而可以充分利用python在科學計算、機器學習方面的生態,極大的擴展spark計算能力。但pyspark往往需要在spark集群中的每個節點都部署python環境以及開發過程中使用到的python庫,常見有兩種方案:
2、一是在所有spark集群進行手動部署,但隨著集群規模增大,部署及運維工作量會顯著增加,同時無法滿足開發者對python環境及python庫的動態需求,開發者可能隨時需要引入新的python庫。
3、二是提交spark任務時打包攜帶所有python環境及依賴庫,這樣雖然解決了動態需求問題,但每個spark任務都需要消耗大量的網絡流量,同時每個任務執行前都需要重建python環境。
4、中國專利公開號:cn114996148a,公開了一種基于pyspark的自動化測試方法、裝置、計算機設備及存儲介質,包括:定時獲取任務調度平臺中的遺漏監測任務;在運行所述遺漏監測任務時,獲取預設編輯平臺中編寫的pyspark邏輯,通過pyspark邏輯執行與多個數據集群分別對應的自動化測試腳本,并通過所述自動化測試腳本對各數據集群中的監測數據進行監測,得到監測結果;通過任務流程展示平臺將所述監測結果展示至預設接收平臺;由此可見,上述技術方案存在以下問題:未考慮到針對python環境進行建立,未考慮到在完成python環境的建立后針對數據的具體的運
技術實現思路
1、為此,本專利技術提供一種分布式數據處理方法,用以克服現有技術中未考慮到針對python環境進行建立,未考慮到在完成python環境的建立后針對數據的具體的運行情況進行監測,影響了python環境的穩定性,進而影響了數據的處理效率的問題。
2、為實現上述目的,本專利技術提供一種分布式數據處理方法,包括:
3、在客戶端提交pyspark應用時,構建獨立于spark集群外的python執行環境,python執行環境包括若干節點,各節點均包括獨立的python依賴模塊和python執行模塊,單個節點包括若干spark?executor;
4、spark?driver解析pyspark應用的python依賴參數,并將依賴參數通過python構建模塊發送至python執行環境的各節點;
5、所述python依賴模塊檢查本地python環境,若依賴庫已經存在,則直接返回成功信息給spark?driver,若依賴庫不存在,通過python工具自動下載并部署依賴庫,完成后返回成功信息給spark?driver;
6、所述spark?driver將pyspark任務調度給所述spark?executor執行;
7、所述spark?executor通過pyspark.remote.daemon模塊,將pyspark.worker構建命令發送至各節點;
8、所述spark?executor通過所述pyspark.remote.daemon模塊與pyspark.worker進行任務與數據交互,所述spark?executor完成計算任務并返回結果;
9、所述spark?executor返回結果給所述spark?driver,spark?driver將結果返回給客戶端;
10、根據獲取的預設分析時長內spark?driver接收的傳輸字符數確定針對執行環境的構建參數不符合預設標準的處理方式,或根據pyspark應用中注釋的字符數與文件的總字符數的比值確定執行環境的構建參數是否符合預設標準;
11、根據第二預設傳輸字符數與傳輸字符數的傳輸差值確定將節點的數量調節至對應值,將各節點對應的spark?executor的數量調節至對應值,或將數據傳輸的壓縮比調節至對應值;
12、當所有計算任務完成后,所述spark?executor銷毀本地pyspark.remote.daemon與遠程pyspark.worker。
13、進一步地,將獲取的預設分析時長內spark?driver接收的字符數記為傳輸字符數,并根據傳輸字符數確定執行環境的構建參數是否符合預設標準;
14、若傳輸字符數小于等于第一預設傳輸字符數,根據第二預設傳輸字符數與傳輸字符數的差值確定針對執行環境的構建參數不符合預設標準的處理方式;
15、若傳輸字符數小于等于第二預設傳輸字符數且大于所述第一預設傳輸字符數,根據pyspark應用中注釋的字符數與文件的總字符數的比值重新確定執行環境的構建參數是否符合預設標準。
16、進一步地,將獲取的pyspark應用中注釋的字符數與文件的總字符數的比值記為字符比值,并根據字符比值重新確定執行環境的構建參數是否符合預設標準;
17、根據預設字符比值與字符比值的差值將第一預設傳輸字符數與第二預設傳輸字符數調節至對應值;
18、根據第二預設傳輸字符數與傳輸字符數的差值確定針對執行環境的構建參數不符合預設標準的處理方式。
19、進一步地,將第二預設傳輸字符數與傳輸字符數的差值記為傳輸差值,并根據傳輸差值確定針對執行環境的構建參數不符合預設標準的處理方式;
20、根據預設分析時長內各節點分別輸出的各字符數確定針對各節點的處理方式;
21、根據預設歷史時長內的各字符數重新確定針對執行環境的構建參數不符合預設標準的處理方式;
22、根據pyspark應用的總數據量將節點的數量調節至對應值。
23、進一步地,將計算的預設分析時長內各節點分別輸出的各字符數的方差記為字符方差,并根據字符方差確定針對各節點的處理方式;
24、根據預設字符方差與字符方差的差值將各節點對應的spark?executor的數量調節至對應值;
25、根據各節點分別輸出的各字符數將輸出的字符數最小的節點的spark?executor的數量調節至對應值。
26、進一步地,獲取預設歷史時長內各預設分析時長對應的各傳輸字符數,并將計算的各傳輸字符數的方差記為傳輸方差,根據傳輸方差重新確定針對執行環境的構建參數不符合預設標準的處理方式;
27、根據pyspark應用的總數據量將節點的數量調節至對應值;
28、根據傳輸方差與預設傳輸方差的差值將數據傳輸的壓縮比調節至對應值。
29、進一步地,基于預設字符比值與字符比值的差值設有若干針對第一預設傳輸字符數與第二預設傳輸字符數的標準調節方式,且各標準調節方式針對第一預設傳輸字符數和第二預設傳輸字符數的調節幅度均不相同;
30、基于調節后的第一預設傳輸字符數與第二預設傳輸字符數重新確定執行環境的構建參數是否符合預本文檔來自技高網...
【技術保護點】
1.一種分布式數據處理方法,其特征在于,包括:
2.根據權利要求1所述的分布式數據處理方法,其特征在于,將獲取的預設分析時長內Spark?Driver接收的字符數記為傳輸字符數,并根據傳輸字符數確定執行環境的構建參數是否符合預設標準;
3.根據權利要求2所述的分布式數據處理方法,其特征在于,將獲取的PySpark應用中注釋的字符數與文件的總字符數的比值記為字符比值,并根據字符比值重新確定執行環境的構建參數是否符合預設標準;
4.根據權利要求3所述的分布式數據處理方法,其特征在于,將第二預設傳輸字符數與傳輸字符數的差值記為傳輸差值,并根據傳輸差值確定針對執行環境的構建參數不符合預設標準的處理方式;
5.根據權利要求4所述的分布式數據處理方法,其特征在于,將計算的預設分析時長內各節點分別輸出的各字符數的方差記為字符方差,并根據字符方差確定針對各節點的處理方式;
6.根據權利要求5所述的分布式數據處理方法,其特征在于,獲取預設歷史時長內各預設分析時長對應的各傳輸字符數,并將計算的各傳輸字符數的方差記為傳輸方差,根據傳輸方差重新
7.根據權利要求6所述的分布式數據處理方法,其特征在于,基于預設字符比值與字符比值的差值設有若干針對第一預設傳輸字符數與第二預設傳輸字符數的標準調節方式,且各標準調節方式針對第一預設傳輸字符數和第二預設傳輸字符數的調節幅度均不相同;
8.?根據權利要求7所述的分布式數據處理方法,其特征在于,基于預設字符方差與字符方差的差值設有若干針對各節點對應的Spark?Executor的數量的進程調節方式,且各進程調節方式針對各節點對應的Spark?Executor的數量的調節幅度均不相同。
9.?根據權利要求8所述的分布式數據處理方法,其特征在于,將各節點分別輸出的各字符數將輸出的字符數最小的節點記為標定節點,計算各節點分別輸出的各字符數的平均值,并將計算的平均值與標定節點對應的字符數的差值記為標定差值,基于標定差值設有若干針對標定節點的Spark?Executor的數量的標定調節方式,且各標定調節方式針對標定節點的Spark?Executor的數量的調節幅度均不相同。
10.根據權利要求9所述的分布式數據處理方法,其特征在于,基于PySpark應用的總數據量設有若干針對節點的數量的節點調節方式,且各節點調節方式針對節點的數量的調節幅度均不相同;
...【技術特征摘要】
1.一種分布式數據處理方法,其特征在于,包括:
2.根據權利要求1所述的分布式數據處理方法,其特征在于,將獲取的預設分析時長內spark?driver接收的字符數記為傳輸字符數,并根據傳輸字符數確定執行環境的構建參數是否符合預設標準;
3.根據權利要求2所述的分布式數據處理方法,其特征在于,將獲取的pyspark應用中注釋的字符數與文件的總字符數的比值記為字符比值,并根據字符比值重新確定執行環境的構建參數是否符合預設標準;
4.根據權利要求3所述的分布式數據處理方法,其特征在于,將第二預設傳輸字符數與傳輸字符數的差值記為傳輸差值,并根據傳輸差值確定針對執行環境的構建參數不符合預設標準的處理方式;
5.根據權利要求4所述的分布式數據處理方法,其特征在于,將計算的預設分析時長內各節點分別輸出的各字符數的方差記為字符方差,并根據字符方差確定針對各節點的處理方式;
6.根據權利要求5所述的分布式數據處理方法,其特征在于,獲取預設歷史時長內各預設分析時長對應的各傳輸字符數,并將計算的各傳輸字符數的方差記為傳輸方差,根據傳輸方差重新確定針對執行環境的構建參數不符合預設標準的處理方式;
7.根據權利要...
【專利技術屬性】
技術研發人員:高經郡,高海玲,李棟,
申請(專利權)人:北京科杰科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。