Spark RDD
Spark RDD(英語:Resilient Distributed Dataset,彈性分散式數據集)是一種數據儲存集合。只能由它支援的數據源或是由其他RDD經過一定的轉換(Transformation)來產生。在RDD上可以執行的操作有兩種轉換(Transformation)和行動(Action),每個 RDD 都記錄了自己是如何由持久化儲存中的源數據計算得出的,即其血統(Lineage)。
開發者 | 加州大學柏克萊分校AMPLab, Databricks |
---|---|
程式語言 | Scala |
作業系統 | 跨平台 |
網站 | spark |
轉換
- map(func):返回一個新的分散式數據集,由每個原元素經過func函數處理後的新元素組成
- filter(func):返回一個新的數據集,由經過func函數處理後返回值為true的原元素組成
- flatMap(func):類似於map,但是每一個輸入元素,會被對映為0個或多個輸出元素,因此,func函數的返回值是一個seq,而不是單一元素
行動
- reduce(func):通過函數func聚集數據集中的所有元素,這個函數必須是關聯性的,確保可以被正確的並行執行
- collect():在driver的程式中,以陣列的形式,返回數據集的所有元素,這通常會在使用filter或者其它操作後,返回一個足夠小的數據子集再使用
依賴
- 寬依賴:父RDD中的分片可能被子 RDD 中的多個分片所依賴
- 窄依賴:父RDD的每個分片至多被子 RDD 中的一個分片所依賴