版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Spark簡(jiǎn)介與生態(tài)Spark簡(jiǎn)介ApacheSpark是專門為大規(guī)模數(shù)據(jù)處理而設(shè)計(jì)的基于內(nèi)存的快速通用計(jì)算平臺(tái)。它是加州大學(xué)伯克利分校AMP(Algorithms,Machines,andPeopleLab)實(shí)驗(yàn)室開發(fā)和開源的類HadoopMapReduce的通用并行框架,可以用來構(gòu)建大型的、低延遲的數(shù)據(jù)分析應(yīng)用程序。
Spark計(jì)算平臺(tái)Spark提供了一個(gè)全面、統(tǒng)一的框架,包括SparkSQL、SparkStreaming、SparkMLlib、SparkGraphX等技術(shù)組件,可以一站式地完成大數(shù)據(jù)領(lǐng)域的離線批處理、交互式查詢分析、流計(jì)算、機(jī)器學(xué)習(xí)、圖計(jì)算等常見的任務(wù)。Spark計(jì)算平臺(tái)的生態(tài)Spark生態(tài)圈以SparkCore為核心,可從HDFS、AmazonS3和HBase等持久層讀取數(shù)據(jù),以YARN、Mesos和自身攜帶的Standalone為ClusterManager調(diào)度任務(wù)Job完成Spark應(yīng)用程序的計(jì)算。Spark的應(yīng)用場(chǎng)景Spark適用于計(jì)算量大、效率要求高的應(yīng)用場(chǎng)景;基于實(shí)時(shí)數(shù)據(jù)流的數(shù)據(jù)處理,延遲性要求為數(shù)百毫秒到數(shù)秒;基于歷史數(shù)據(jù)的交互式查詢,要求響應(yīng)較快。例如,使用大數(shù)據(jù)分析來構(gòu)建推薦系統(tǒng),進(jìn)行個(gè)性化推薦、廣告定點(diǎn)投放等,這種應(yīng)用場(chǎng)景的數(shù)據(jù)量大且需要進(jìn)行邏輯復(fù)雜的批數(shù)據(jù)處理,對(duì)計(jì)算效率有較高的要求。Spark的應(yīng)用場(chǎng)景Spark架構(gòu)和部署模式Spark架構(gòu)Spark架構(gòu)包括集群資源管理器(ClusterManager)、運(yùn)行作業(yè)任務(wù)的工作節(jié)點(diǎn)(WorkerNode)、每個(gè)應(yīng)用的任務(wù)控制節(jié)點(diǎn)(Driver)和每個(gè)工作節(jié)點(diǎn)上負(fù)責(zé)具體任務(wù)的執(zhí)行進(jìn)程(Executor)。Spark架構(gòu)Spark支持多種集群資源管理器,自帶Standalone集群資源管理器、Mesos或YARN,系統(tǒng)默認(rèn)采用YARN模式。Spark架構(gòu)SparkApplication作為一系列獨(dú)立的進(jìn)程運(yùn)行在集群上,用戶使用SparkContext提供的API編寫DriverApplication,使用SparkContext提交任務(wù)給ClusterManager。SparkContext通過這些ClusterManager分配整個(gè)程序資源。只要能連接上任意一種ClusterManager,Spark就會(huì)獲得每個(gè)工作節(jié)點(diǎn)上的Executor。Spark的部署模式(1)Local模式
Local模式也稱單節(jié)點(diǎn)模式,用于在本地部署單個(gè)Spark服務(wù)。該模式常用于本地開發(fā)學(xué)習(xí)和測(cè)試,還分為L(zhǎng)ocal和LocalCluster兩類。(2)Standalone模式
獨(dú)立集群運(yùn)行模式。Spark原生的簡(jiǎn)單集群資源管理器自帶完整的服務(wù),可被單獨(dú)部署到一個(gè)集群中,無須依賴任何其他資源管理系統(tǒng)。Standalone模式采用Master/Slave的典型架構(gòu),為了解決單點(diǎn)故障問題,可以采用ZooKeeper實(shí)現(xiàn)高可靠性。Spark的部署模式(3)YARN模式:
使用Hadoop的YARN組件進(jìn)行資源與任務(wù)調(diào)度。YARN模式根據(jù)Driver在集群中的位置分為兩種:一種是YARN-Client模式,另一種是YARN-Cluster模式。YARN-Client模式適用于交互與調(diào)試,YARN-Cluster適用于公司應(yīng)用的生產(chǎn)環(huán)境。(4)Mesos模式:
Spark使用Mesos平臺(tái)進(jìn)行資源與任務(wù)調(diào)度。Spark運(yùn)行流程Spark運(yùn)行流程無論Spark以何種模式進(jìn)行部署,在提交Spark任務(wù)后,都會(huì)首先啟動(dòng)Driver進(jìn)程,并由Driver進(jìn)程向資源管理器注冊(cè)應(yīng)用程序,然后資源管理器會(huì)根據(jù)此任務(wù)的配置文件分配并啟動(dòng)Executor。Spark運(yùn)行流程當(dāng)Driver所需的資源全部滿足后,Driver開始執(zhí)行main()函數(shù)。Spark查詢?yōu)閼袌?zhí)行或惰性操作,當(dāng)執(zhí)行到Action操作時(shí)開始反向推算,根據(jù)寬依賴進(jìn)行Stage劃分。每個(gè)Stage對(duì)應(yīng)一個(gè)TaskSet(任務(wù)集),TaskSet中有多個(gè)Task,根據(jù)本地化原則,Task會(huì)被分發(fā)給指定的Executor執(zhí)行。Spark運(yùn)行流程在任務(wù)執(zhí)行的過程中,Executor也會(huì)不斷地與Driver通信,報(bào)告任務(wù)運(yùn)行情況。Spark的Job提交流程Spark任務(wù)調(diào)度Spark數(shù)據(jù)處理模型RDDRDD概念與特點(diǎn)RDD(ResilientDistributedDataset,彈性分布式數(shù)據(jù)集)是Spark中最基本的數(shù)據(jù)處理模型。RDD是一種有容錯(cuò)機(jī)制的特殊數(shù)據(jù)集合,可以分布在集群的節(jié)點(diǎn)上,以函數(shù)式操作集合的方式進(jìn)行各種并行操作。RDD概念與特點(diǎn)Spark中,對(duì)數(shù)據(jù)的操作主要包括創(chuàng)建RDD、轉(zhuǎn)換已有RDD和調(diào)用RDD進(jìn)行求值。RDD包括兩種類型的操作,即Transformation操作和Action操作。RDD采用惰性求值,只有在執(zhí)行Action操作時(shí),才會(huì)真正地進(jìn)行運(yùn)算。每次調(diào)用Action操作時(shí),整個(gè)RDD都會(huì)從頭開始計(jì)算。RDD分區(qū)分區(qū)的概念RDD分區(qū)是指RDD內(nèi)部的數(shù)據(jù)集合在邏輯上和物理上被劃分成多個(gè)子集合。這樣的每個(gè)子集合被稱為分區(qū),即數(shù)據(jù)集的一個(gè)邏輯塊。RDD分區(qū)的作用RDD分區(qū)主要有兩方面的作用:一方面是增加并行度,另一方面是減少通信開銷。RDD概念與特點(diǎn)分區(qū)的原則分區(qū)的個(gè)數(shù)會(huì)對(duì)Spark性能有影響。RDD的分區(qū)原則是分區(qū)的個(gè)數(shù)盡可能等于集群中的CPU核心(Core)數(shù)目,以實(shí)現(xiàn)數(shù)據(jù)的并行計(jì)算。分區(qū)的原則分區(qū)的個(gè)數(shù)會(huì)對(duì)Spark性能有影響。RDD的分區(qū)原則是分區(qū)的個(gè)數(shù)盡可能等于集群中的CPU核心(Core)數(shù)目,以實(shí)現(xiàn)數(shù)據(jù)的并行計(jì)算。RDD基本操作Spark支持兩種RDD基本操作,即Transformation(轉(zhuǎn)換)和Action(行動(dòng))。Transformation操作是指將一個(gè)RDD通過一種規(guī)則映射為另一個(gè)RDD,該操作由RDD的轉(zhuǎn)換函數(shù)來實(shí)現(xiàn),即懶操作函數(shù),這些函數(shù)不觸發(fā)執(zhí)行,會(huì)返回另一個(gè)RDD。Action操作則主要是對(duì)RDD進(jìn)行最后的操作,如遍歷、Reduce、保存到文件等,并且可以返回結(jié)果給Driver程序。RDD基本操作RDD基本操作的執(zhí)行過程Transformation操作Transformation操作主要用于根據(jù)已有RDD創(chuàng)建新的RDD,提供給下一個(gè)“轉(zhuǎn)換”算子使用。Action操作Action操作用于執(zhí)行計(jì)算并按指定的方式輸出結(jié)果。RDD基本操作RDD基本操作范例Spark與ScalaScala源自Java,構(gòu)建在J
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年滬科版九年級(jí)歷史上冊(cè)階段測(cè)試試卷含答案
- 2025年滬科版選擇性必修1語文上冊(cè)月考試卷含答案
- 2025年滬教版必修1歷史上冊(cè)月考試卷含答案
- 二零二五版電力工程安全風(fēng)險(xiǎn)評(píng)估咨詢合同4篇
- 二零二五年度勞動(dòng)合同管理專項(xiàng)審計(jì)與優(yōu)化合同3篇
- 2025年度高新技術(shù)產(chǎn)業(yè)研發(fā)中心項(xiàng)目派遣人員勞動(dòng)合同簽訂及調(diào)整協(xié)議3篇
- 2025版內(nèi)部股權(quán)激勵(lì)與員工股權(quán)激勵(lì)計(jì)劃合同4篇
- 2025年度門衛(wèi)崗位績(jī)效考核合同范本3篇
- 二零二五年度農(nóng)業(yè)蔬菜大棚租賃與農(nóng)業(yè)科技推廣合同4篇
- 二零二五年度古法工藝木屋建造技藝傳承合同3篇
- 勞務(wù)協(xié)議范本模板
- 2024年全國職業(yè)院校技能大賽高職組(生產(chǎn)事故應(yīng)急救援賽項(xiàng))考試題庫(含答案)
- 2025大巴車租車合同范文
- 老年上消化道出血急診診療專家共識(shí)2024
- 人教版(2024)數(shù)學(xué)七年級(jí)上冊(cè)期末測(cè)試卷(含答案)
- 2024年國家保密培訓(xùn)
- 2024年公務(wù)員職務(wù)任命書3篇
- CFM56-3發(fā)動(dòng)機(jī)構(gòu)造課件
- 會(huì)議讀書交流分享匯報(bào)課件-《殺死一只知更鳥》
- 2025屆撫州市高一上數(shù)學(xué)期末綜合測(cè)試試題含解析
- 公司印章管理登記使用臺(tái)賬表
評(píng)論
0/150
提交評(píng)論