0x01 背景 當(dāng)一個類存在一個(或多個)變化的維度時泽疆,如果采用繼承的方式來定義不同的實現(xiàn),會導(dǎo)致實現(xiàn)類數(shù)量呈指數(shù)爆炸玲献,比如對于畫布來說殉疼,形狀上有三種:正方形、長方形捌年、圓形瓢娜,...
bitmapBuild(array) 從無符號整型(UInt8、UInt32礼预、UInt64等)array構(gòu)造bitmap bitmapToArray(bitmap) 將bit...
寫在前面 當(dāng)在10億數(shù)據(jù)進(jìn)行不到30次比較就能查找到目標(biāo)時眠砾,不禁感嘆編程之魅力!人類之偉大呀逆瑞! —— 學(xué)紅黑樹有感荠藤。 終于,在學(xué)習(xí)了幾天的紅黑樹相關(guān)的知識后获高,我想把我所學(xué)所想...
0x01 數(shù)據(jù)序列化調(diào)優(yōu) 在進(jìn)行RDD緩存和Shuffle過程時哈肖,Spark會將數(shù)據(jù)對象進(jìn)行序列化,所以選擇合適的序列化方法念秧,可以提高spark任務(wù)的性能淤井。SPark提供了兩...
0x01 數(shù)據(jù)傾斜發(fā)生的原理 Spark在進(jìn)行Shuffle的時候,必須將各個節(jié)點上相同的key拉取到某個節(jié)點上的一個task來進(jìn)行處理摊趾,比如按照key進(jìn)行聚合或join等操...
0x01 寬依賴和窄依賴 窄依賴: 父RDD的每個分區(qū)最多被子RDD的一個分區(qū)所用(一個父RDD分區(qū)對應(yīng)一個子RDD分區(qū))币狠,即父RDD的數(shù)據(jù)沒有被重新規(guī)劃分區(qū)(沒有被重新洗牌...
問題:有哪些分區(qū)策略/分區(qū)算法? 分區(qū)策略的定義:決定生產(chǎn)者將消息發(fā)送到哪個分區(qū)的算法砾层。 1. 輪詢策略/順序分配(默認(rèn)分區(qū)策略) 優(yōu)點:可以提供非常優(yōu)秀的負(fù)載均衡能力漩绵,可以...
如何寫出高質(zhì)量的技術(shù)博客倍宾?答案是:如果你想雏节,就一定能寫出高質(zhì)量的技術(shù)博客「咧埃看起來很唯心钩乍,但這就是事實。有足夠愿力去做一件目標(biāo)明確怔锌,有良好反饋系統(tǒng)的事情往往很簡單寥粹。就是不停地訓(xùn)...
Spark性能優(yōu)化之道——解決Spark數(shù)據(jù)傾斜(Data Skew)的N種姿勢 | 36大數(shù)據(jù) http://www.36dsj.com/archives/78036 摘...