spark程式效能優化 合併檔案

2021-08-24 20:45:52 字數 600 閱讀 2826

背景:把總量3t的檔案和40g的檔案合併按key合併,把3t中40g有的記錄換成40g的,40g中3t沒有的加上。原先是按其中乙個資料域經過hash,把資料分成3個part進行處理,大概每個半小時,3個任務1.5小時處理完(之前3t的資料總量大約1.2t)。但隨著資料增加,每個部分資料變為了1t,並且資料長度增長,原先半小時的任務跑2個小時都跑不完,進行優化。

(1)讀入優化:對每條記錄用split,對長記錄來說太慢,換成indexof找到分隔符第一次出現的位置,根據index分割那想要的part,效率高了10+倍

問題:

解決:(1)試驗把repartition前面有乙個reducebykey去掉,只剩下repartition,其實速度很快,慢就慢在reducebykey上

優化程式效能

編寫高效程式需要兩個活動 第一,我們必須選擇一組最好的演算法和資料結構 第二,我們必須編寫出編譯器能夠有效優化以轉換成高效可執行 的源 這裡,我們主要講述後者。首先,我們討論一下為什麼要編寫高效程式。不難想象,如果本來要用 天執行完的程式,經過優化只需要 天就可執行完,這是一件多麼令人振奮的 事啊。...

優化程式效能

l 消除迴圈的低效率 n 對於迴圈中的過程呼叫盡量移出迴圈外,例如 nfor i 0 i strlen s i strlen 函式為線性增長 在字串長度很大時 很消耗系統資源 n 減少不必要的儲存器引用,將儲存器引用儲存在臨時變數中.l 處理器優化 即充分利用儲存器流水線操作的吞吐量 n 迴圈展開,...

優化程式效能

研究彙編 是理解編譯器以及產生的 會如何執行的最有效的手段之一。編譯器優化 的限制 1 程式設計中存在 儲存器別名使用 的問題。編譯器必須假設不同的指標可能指向儲存器中相同的位置。2 函式呼叫 簡略了。具體看書 基本的編碼原則 效能大幅度提公升 優化程式效能的一些方法 1 將除錯完的程式完成編譯器級...