Spark 編程指南

2022-02-14 10:46 更新

概論

在高層中,每個 Spark 應用程序都由一個驅動程序(driver programe)構成,驅動程序在集群上運行用戶的 ?main ?函數來執(zhí)行各種各樣的并行操作(parallel operations)。Spark 的主要抽象是提供一個彈性分布式數據集(RDD),RDD 是指能橫跨集群所有節(jié)點進行并行計算的分區(qū)元素集合。RDDs 從 Hadoop 的文件系統(tǒng)中的一個文件中創(chuàng)建而來(或其他 Hadoop 支持的文件系統(tǒng)),或者從一個已有的 Scala 集合轉換得到。用戶可以要求 Spark 將 RDD 持久化(persist)到內存中,來讓它在并行計算中高效地重用。最后,RDDs 能在節(jié)點失敗中自動地恢復過來。

Spark 的第二個抽象是共享變量(shared variables),共享變量能被運行在并行計算中。默認情況下,當 Spark 運行一個并行函數時,這個并行函數會作為一個任務集在不同的節(jié)點上運行,它會把函數里使用的每個變量都復制搬運到每個任務中。有時,一個變量需要被共享到交叉任務中或驅動程序和任務之間。Spark 支持 2 種類型的共享變量:廣播變量(broadcast variables),用來在所有節(jié)點的內存中緩存一個值;累加器(accumulators),僅僅只能執(zhí)行“添加(added)”操作,例如:記數器(counters)和求和(sums)。

這個指南會在 Spark 支持的所有語言中演示它的每一個特征。非常簡單地開始一個 Spark 交互式 shell - ?bin/spark-shell ?開始一個 Scala shell,或 ?bin/pyspark? 開始一個 Python shell。


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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號