大資料學習—Spark核心概念RDD

加米穀大資料發表於2021-09-28

在大資料當中, spark 作為一個核心模組是很重要的, spark 擁有速度更快、易用性的特點,而 RDD 作為 spark 的核心概念,就更應該重點學習,今天我們就來了解一下關於 spark 核心概念 RDD 的重要性。

Spark 相對於 hadoop 所做的改進:

Spark 速度更快;

其次, Spark 豐富的 API 帶來了更強大的易用性;

最後, Spark 不單單支援傳統批處理應用,更支援互動式查詢、流式計算、機器學習、圖計算等各種應用,滿足各種不同應用場景下的需求。

而幫助 spark 獲取這些的優勢,關鍵的核心就是來於 RDD ,那麼 RDD 到底是什麼呢?今天加米穀小編就來給大家講解一下。

RDD 全稱是 Resilient Distributed Datasets ,翻譯過來就是彈性分散式資料集,似乎念起來有點繞口,我們先從簡單一點的角度來理解。

RDD 想象為一組資料,而 Spark 把要處理的資料、處理中間結果以及輸出結果都定義成 RDD ,那麼在 Spark 當中資料處理的流程就可以這樣去理解 ——

從資料來源讀取資料,把輸入生成一個 RDD 通過運算把輸入 RDD 轉換成另一個 RDD 再通過運算把生成的 RDD 轉換成另一個 RDD ,重複需要進行的 RDD 轉換操 最後運算成結果 RDD ,處理結果

經過這樣一個流程,就實現了對大規模資料的處理,而 Spark 對於數處理,因為本身沒有分散式檔案系統,所以可以與 Hadoop HDFS 實現協同,完成資料儲存。但是 Spark 當中的 RDD 預設是在記憶體當中進行儲存的。只有當資料量大於 Spark 被允許使用的記憶體大小時,那麼可以將資料 spill 到磁碟上。

接下來,就是 RDD 的介面問題。

RDD 是連線 Spark 資料操作的核心,介面要解決的主要問題就是,為了生成這個 RDD ,它的上一個 RDD 是誰,以及生成過程使用的運算是什麼。

舉個簡單的例子,資料 A ,經過運算 F ,轉換成了資料 B ,那麼如果問你如何得到 B ,那麼需要資料 A+ 運算 B ,這就是介面需要提供的東西。

所以其實 RDD 就是一個資料集,是一組資料被處理到一個階段的狀態,在 Spark 當中,根據資料處理任務,會有很多個 RDD RDD 彼此之間互動運算,完成最終的資料處理結果。

以上就是關於 Spark 核心概念 RDD 的介紹,隨著大資料的不斷髮展,越來越多的人想要學習大資料。 如果想了解更多詳情,請點選成都加米穀大資料官網咖!成都大資料培訓學校、大資料開發培訓、資料分析與挖掘,零基礎班本月正在招生中,課程大綱及試學視訊可免費獲取!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70005624/viewspace-2794218/,如需轉載,請註明出處,否則將追究法律責任。

相關文章