Spark架構作為大數據當中的兩大架構之一,其優秀的性能讓其成為大數據應用架構未來的主要選擇,代表著該領域未來發展的趨勢。在 Spark架構應用的過程中,了解其相關的術語很有必要。中培偉業《大數據Hadoop與Spark架構應用實戰》蔣老師在這里介紹了Spark架構相關的專業術語。
(1)RDD(Resilient distributed datasets)
彈性分布式數據集,Spark中最核心的模塊和類,也是設計精華所在。你將它理解為一個大的集合,將所有數據都加載到內存中,方便進行多次重用。第一,它是分布式的,可以分布在多臺機器上,進行計算。第二,它是彈性的,在計算處理過程中,機器的內存不夠時,它會和硬盤進行數據交換,某種程度上會減低性能,但是可以確保計算得以繼續進行。關于RDD的詳細闡述,后面會單獨再起一篇文章。
(2)Local模式和Mesos模式
Spark支持Local調用和Mesos集群兩種模式,在Spark上開發算法程序,可以在本地模式調試成功后,直接改用Mesos集群運行,除了文件的保存位置需要考慮以外,算法理論上不需要做任何修改。
Spark的本地模式支持多線程,有一定的單機并發處理能力。但是不算很強勁。本地模式可以保存結果在本地或者分布式文件系統,而Mesos模式一定需要保存在分布式或者共享文件系統。
(3)Transformations和Actions
對于RDD,有兩種類型的動作,一種是Transformation,一種是Action。它們本質區別是:
Transformation返回值還是一個RDD。它使用了鏈式調用的設計模式,對一個RDD進行計算后,變換成另外一個RDD,然后這個RDD又可以進行另外一次轉換。這個過程是分布式的Action返回值不是一個RDD。它要么是一個Scala的普通集合,要么是一個值,要么是空,最終或返回到Driver程序,或把RDD寫入到文件系統中。
關于這兩個動作,在Spark開發指南中會有就進一步的詳細介紹,它們是基于Spark開發的核心。
《大數據Hadoop與Spark架構應用實戰》課程是中培偉業的精品課程之一,本課程現場班將于8月25日—28日在南京舉行,目前已經到了報名的最后階段,歡迎廣大想參加該培訓的行業人才能抓緊時間報名,中培偉業將為您獻上受益終身的一課!