不經過shuffle,實現詞頻統計
bject spark06_accumulator
}// 累加器的tostring方法
//println(sumacc)
//取出累加器中的值
println(sumacc.value)
sc.stop()}
}
不經過shuffle,計算以h開頭的單詞出現的次數。
object spark07_myaccumulator
}// 獲取累加器的結果
println(myacc.value)
sc.stop()}
}// 自定義累加器
// 泛型分別為輸入型別和輸出型別
class myaccumulator extends accumulatorv2[
string
, mutable.map[
string
,int]]
// 重置累加器
override
def reset():
unit
=// 累加器新增元素
override
def add(v:
string):
unit=}
// 合併累加器中的元素
override
def merge(other: accumulatorv2[
string
, mutable.map[
string
,int]]
):unit=}
}// 獲取累加器中的值
override
def value: mutable.map[
string
,int]=
}
Spark的累加器
val conf newsparkconf jk setmaster local val sc newsparkcontext conf val accumulator sc.longaccumulator 傳入array集合,指定兩個分片 val unit sc.makerdd array 1 5...
累加器的作用
1 在運算器中,累加器是專門存放算術或邏輯運算的乙個運算元和運算結果的暫存器。能進行加 減 讀出 移位 迴圈移位和求補等操作。是運算器的主要部分。2 在 處理器cpu中,累加器是一種暫存器,它用來儲存計算所產生的中間結果。如果沒有像累加器這樣的暫存器,那麼在每次計算 加法,乘法,移位等 後就必須要把...
Spark累加器和廣播變數
累加器有些類似redis的計數器,但要比計數器強大,不僅可以用於計數,還可以用來累加求和 累加合併元素等。假設我們有乙個word.txt文字,我們想要統計該文字中單詞 sheep 的行數,我們可以直接讀取文字filter過濾然後計數。sc.textfile word.txt filter conta...