




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、BDAS生態(tài)系統(tǒng)描述及MLlib工作機制伯克利數(shù)據分析棧(BDAS)是伯克利Spark的整個生態(tài)系統(tǒng)的統(tǒng)稱。其核心 框架是Spark,同時BDAS涵蓋支持結構化數(shù)據SQL查詢與分析的查詢引擎Spark SQL和Shark,提供機器學習功能的系統(tǒng)MLbase及底層的分布式機器學習庫 MLlib、并行圖計算框架GraphX、流計算框架Spark Streaming、采樣近似計算 查詢引擎BlinkDB、內存分布式文件系統(tǒng)Tachyon、資源管理框架Mesos等子項 目。這些子項目在Spark上層提供了更高層、更豐富的計算范式。以下為BDAS的項目結構圖。BlinkDBiSQLw、誤差范匾、響應時間
2、)(Ell 漩Sp3 快速內存優(yōu)代執(zhí)行引擎-MLbase1 1*(3 仇而平刃)111Hi(TytMrv九gS函;i APT |Hive Hadoflp MRStaimMPITachyon ( alpha)(內存文件系統(tǒng))HEFS (Hadoop distributed File System. Hadcop式丈件系統(tǒng)M-esos Cluster re source manage.!: multi-tenaiicy 已經發(fā)布 正在開發(fā) 相關的BDAS之外的系統(tǒng)圖1-1伯克利數(shù)蛔分析棧(BDAS)項目結構圖(1)SparkSpark是整個BDAS的核心組件,是一個大數(shù)據分布式編程框架,不僅實現(xiàn)
3、了 MapReduce的算子map函數(shù)和reduce函數(shù)及計算模型,還提供更為豐富的算 子,如filter、join、groupByKey等。Spark將分布式數(shù)據抽象為彈性分布式 數(shù)據集(RDD),實現(xiàn)了應用任務調度、RPC、序列化和壓縮,并為運行在其上的 上層組件提供API。其底層采用Scala這種函數(shù)式語言書寫而成,并且所提供的 API深度借鑒Scala函數(shù)式的編程思想,提供與Scala類似的編程接口。下圖為Spark的處理流程(主要對象為RDD)。 1-2 Spark的任務處理流程圖Spark將數(shù)據在分布式環(huán)境下分區(qū),然后將作業(yè)轉化為有向無環(huán)圖(DAG), 并分階段進行DAG的調度和任
4、務的分布式并行處理。(2)SharkShark是構建在Spark和Hive基礎之上的數(shù)據倉庫。目前,Shark已經完成 學術使命,終止開發(fā),但其架構和原理仍具有借鑒意義。它提供了能夠查詢Hive 中所存儲數(shù)據的一套SQL接口,兼容現(xiàn)有的Hive QL語法。這樣,熟悉Hive QL 或者SQL的用戶可以基于Shark進行快速的Ad-Hoc、Reporting等類型的SQL 查詢。Shark底層復用Hive的解析器、優(yōu)化器以及元數(shù)據存儲和序列化接口。 Shark會將Hive QL編譯轉化為一組Spark任務,進行分布式運算。(3)Spark SQLSpark SQL提供在大數(shù)據上的SQL查詢功能,
5、類似于Shark在整個生態(tài)系統(tǒng) 的角色,它們可以統(tǒng)稱為SQL on Spark。之前,Shark的查詢編譯和優(yōu)化器依賴 于Hive,使得Shark不得不維護一套Hive分支,而Spark SQL使用Catalyst 做查詢解析和優(yōu)化器,并在底層使用Spark作為執(zhí)行引擎實現(xiàn)SQL的Operator。 用戶可以在Spark上直接書寫SQL,相當于為Spark擴充了一套SQL算子,這無 疑更加豐富了 Spark的算子和功能,同時Spark SQL不斷兼容不同的持久化存儲 (如HDFS、Hive等),為其發(fā)展奠定廣闊的空間。(4)Spark StreamingSpark Streaming通過將流數(shù)
6、據按指定時間片累積為RDD,然后將每個RDD 進行批處理,進而實現(xiàn)大規(guī)模的流數(shù)據處理。其吞吐量能夠超越現(xiàn)有主流流處理 框架Storm,并提供豐富的API用于流數(shù)據計算。(5)GraphXGraphX基于BSP模型,在Spark之上封裝類似Pregel的接口,進行大規(guī)模 同步全局的圖計算,尤其是當用戶進行多輪迭代時,基于Spark內存計算的優(yōu)勢 尤為明顯。(6)TachyonTachyon是一個分布式內存文件系統(tǒng),可以理解為內存中的HDFS。為了提供 更高的性能,將數(shù)據存儲剝離Java Heap。用戶可以基于Tachyon實現(xiàn)RDD或者 文件的跨應用共享,并提供高容錯機制,保證數(shù)據的可靠性。(7
7、)MesosMesos是一個資源管理框架,提供類似于YARN的功能。用戶可以在其中插 件式地運行Spark、MapReduce、Tez等計算框架的任務。Mesos會對資源和任務 進行隔離,并實現(xiàn)高效的資源任務調度。(8)BlinkDBBlinkDB是一個用于在海量數(shù)據上進行交互式SQL的近似查詢引擎。它允 許用戶通過在查詢準確性和查詢響應時間之間做出權衡,完成近似查詢。其數(shù)據 的精度被控制在允許的誤差范圍內。為了達到這個目標,BlinkDB的核心思想是: 通過一個自適應優(yōu)化框架,隨著時間的推移,從原始數(shù)據建立并維護一組多維樣 本;通過一個動態(tài)樣本選擇策略,選擇一個適當大小的示例,然后基于查詢的
8、準 確性和響應時間滿足用戶查詢需求。Spark MLlib介紹Spark之所以在機器學習方面具有得天獨厚的優(yōu)勢,有以下幾點原因:(1 )機器學習算法一般都有很多個步驟迭代計算的過程,機器學習的 計算需要在多次迭代后獲得足夠小的誤差或者足夠收斂才會停止,迭代時如果使 用Hadoop的MapReduce計算框架,每次計算都要讀/寫磁盤以及任務 的啟動等工作,這回導致非常大的I/O和CPU消耗。而Spark基于內存的計算模型天生就擅長迭代計算,多個步驟計算直接在內存中完成,只有在必 要時才會操作磁盤和網絡,所以說Spark正是機器學習的理想的平臺。(2 )從通信的角度講,如果使用Hadoop的Map
9、Reduce計算框 架,JobTracker和 TaskTracker 之間由于是通過heartbeat 的方式來 進行的通信和傳遞數(shù)據,會導致非常慢的執(zhí)行速度,而Spark具有出色而高 效的Akka和Netty通信系統(tǒng),通信效率極高。KMeans沁 rkrimEln 使L猝。MLlib(Machine Learnig lib) 是Spark對常用的機器學習算法的實現(xiàn) 庫,同時包括相關的測試和數(shù)據生成器。Spark的設計初衷就是為了支持一 些迭代的Job,這正好符合很多機器學習算法的特點。在Spark官方首頁 中展示了 Logistic Regression 算法在Spark 和 Hadoop
10、 中運行的性能 比較,如圖下圖所示。在Logistic Regression的運算場景 下,Spark比Hadoop 快了 100 倍以上! MLlib目前支持 4種常見 的機器學習問題:分類、回歸、聚類和協(xié)同過濾,MLlib在Spark整個 生態(tài)系統(tǒng)中的位置如圖下圖所示。MLlib基于RDD ,天生就可以與Spark SQL 、 GraphX、 Spark Streaming 無縫集成,以 RDD 為基石,4 個 子框架可聯(lián)手構建大數(shù)據計算中心!MLlib 是 MLBase 一部分,其中 MLBase 分為四部 分: MLlib 、 MLI 、 ML Optimizer 和 MLRuntim
11、e 。l ML Optimizer會選擇它認為最適合的已經在內部實現(xiàn)好了的機器 學習算法和相關參數(shù),來處理用戶輸入的數(shù)據,并返回模型或別的幫助分析的結 果;MLI是一個進行特征抽取和高級ML編程抽象的算法實現(xiàn)的API或平臺;l MLlib是Spark實現(xiàn)一些常見的機器學習算法和實用程序,包 括分類、回歸、聚類、協(xié)同過濾、降維以及底層優(yōu)化,該算法可以進行可擴 充;MLRuntime基于Spark計算框架,將Spark的分布式計算應用到機 器學習領域。Spark MLlib架構解析從架構圖可以看出MLlib主要包含三個部分:l底層基礎:包括Spark的運行庫、矩陣庫和向量庫;l 算法庫:包含廣義線性模型、推薦系統(tǒng)、聚類、決策樹和評估的 算法;l實
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年金融科技在財富管理中的智能風控系統(tǒng)市場前景報告
- 湖南燃氣考試試題及答案
- 內蒙古中小學教師考試真題2024
- 高測入職培訓考試試題及答案
- 2024年攀枝花市仁和區(qū)醫(yī)共體總醫(yī)院招聘考試真題
- 幼兒園教育活動健康
- 河南開封智慧健康職業(yè)學院招聘筆試真題2024
- 2024年四川綿陽九洲投資控股集團有限公司招聘考試真題
- 澄邁縣遴選考試真題2024
- 12古詩二首教學課件
- 2025年廣東省高考生物真題(解析版)
- 2025年7月自考13811績效管理試題及答案含解析
- 2025年中學教師資格考試《綜合素質》教育法律法規(guī)經典案例分析及強化試題集(含答案)
- CGF生長因子在口腔醫(yī)學中的應用
- 互聯(lián)網新聞信息服務安全評估報告模板(2025年7月修訂)
- 《等腰三角形的性質》課件
- 工業(yè)互聯(lián)網與船舶行業(yè)融合應用參考指南 2025
- (2025)公文寫作考試題庫(含答案)
- 蓄電池安裝工程分項工程質量驗收記錄表
- (完整版)幼兒園大班升一年級數(shù)學測試卷
- B2B2C多用戶商城平臺詳解
評論
0/150
提交評論