Spark 并行集合

2018-11-26 16:28 更新

Spark 并行集合

并行集合 (Parallelized collections) 的創(chuàng)建是通過在一個已有的集合(Scala Seq)上調用 SparkContext 的 parallelize 方法實現(xiàn)的。集合中的元素被復制到一個可并行操作的分布式數(shù)據(jù)集中。例如,這里演示了如何在一個包含 1 到 5 的數(shù)組中創(chuàng)建并行集合:

val data = Array(1, 2, 3, 4, 5)
val distData = sc.parallelize(data)

一旦創(chuàng)建完成,這個分布式數(shù)據(jù)集(distData)就可以被并行操作。例如,我們可以調用 distData.reduce((a, b) => a + b) 將這個數(shù)組中的元素相加。我們以后再描述在分布式上的一些操作。

并行集合一個很重要的參數(shù)是切片數(shù)(slices),表示一個數(shù)據(jù)集切分的份數(shù)。Spark 會在集群上為每一個切片運行一個任務。你可以在集群上為每個 CPU 設置 2-4 個切片(slices)。正常情況下,Spark 會試著基于你的集群狀況自動地設置切片的數(shù)目。然而,你也可以通過 parallelize 的第二個參數(shù)手動地設置(例如:sc.parallelize(data, 10))。

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號