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