W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
并行集合 (Parallelized collections) 的創(chuàng)建是通過在一個(gè)已有的集合(Scala Seq
)上調(diào)用 SparkContext 的 parallelize
方法實(shí)現(xiàn)的。集合中的元素被復(fù)制到一個(gè)可并行操作的分布式數(shù)據(jù)集中。例如,這里演示了如何在一個(gè)包含 1 到 5 的數(shù)組中創(chuàng)建并行集合:
val data = Array(1, 2, 3, 4, 5)
val distData = sc.parallelize(data)
一旦創(chuàng)建完成,這個(gè)分布式數(shù)據(jù)集(distData
)就可以被并行操作。例如,我們可以調(diào)用 distData.reduce((a, b) => a + b)
將這個(gè)數(shù)組中的元素相加。我們以后再描述在分布式上的一些操作。
并行集合一個(gè)很重要的參數(shù)是切片數(shù)(slices),表示一個(gè)數(shù)據(jù)集切分的份數(shù)。Spark 會(huì)在集群上為每一個(gè)切片運(yùn)行一個(gè)任務(wù)。你可以在集群上為每個(gè) CPU 設(shè)置 2-4 個(gè)切片(slices)。正常情況下,Spark 會(huì)試著基于你的集群狀況自動(dòng)地設(shè)置切片的數(shù)目。然而,你也可以通過 parallelize
的第二個(gè)參數(shù)手動(dòng)地設(shè)置(例如:sc.parallelize(data, 10)
)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: