第5章內(nèi)存大數(shù)據(jù)計算框架spark_第1頁
第5章內(nèi)存大數(shù)據(jù)計算框架spark_第2頁
第5章內(nèi)存大數(shù)據(jù)計算框架spark_第3頁
第5章內(nèi)存大數(shù)據(jù)計算框架spark_第4頁
第5章內(nèi)存大數(shù)據(jù)計算框架spark_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、大數(shù)據(jù)應(yīng)用人才培養(yǎng)系列教材 大數(shù)據(jù)實踐 劉 鵬 張 燕 總主編 袁曉東 主編 黃必棟 副主編 第五章 內(nèi)存大數(shù)據(jù)計算框架 Spark 5.1Spark簡介 5.2Spark部署 5.3Spark配置 5.4Spark RDD 習(xí)題 5.5Spark Shell 大數(shù)據(jù)應(yīng)用人才培養(yǎng)系列教材 5.1 Spark簡介 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l 美國加州大學(xué)伯克利分校的AMP實驗室在2010年發(fā)布的一個快速、 通用的開源大數(shù)據(jù)處理引擎 l 與Hadoop平臺類似, 提供更高效、更快的數(shù)據(jù)處理,兼容Hadoop生 態(tài) l 當前主流的數(shù)據(jù)分析、數(shù)據(jù)流式處理、機器學(xué)習(xí)平臺之一 Spark 特

2、性 多種類數(shù)據(jù)處理支持 豐富、靈活的編程接口 高效、高性能的批處理 靈活、易用的編程模型 批處理、流失處理、迭代計算(機器學(xué)習(xí)、 圖計算)、交互式查詢 編程語言:Java、Scala、Python、 R、SQL 交互式數(shù)據(jù)處理: Spark Shell、 PySpark、Spark SQL CLI 高效利用內(nèi)存處理數(shù)據(jù);計算中間結(jié)果不 需要存儲到文件系統(tǒng);作業(yè)調(diào)度的優(yōu)化 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark DAG編程模型豐富了map,reduce操作 接口,增加了filter、flatMap、union 等操作接口 5.1 Spark簡介 多數(shù)據(jù)源支持 HDFS、Hive、HBase、Par

3、quet等 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark 5.1 Spark簡介 Spark生態(tài)系統(tǒng)BDAS 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark 5.1 Spark簡介 Spark應(yīng)用程序架構(gòu) 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark 5.1 Spark簡介 有向無環(huán)圖的階段劃分 A-groupBy-B C-map-D D,E-union-F B,F-join-G RDD的轉(zhuǎn)化: 第五章 內(nèi)存大數(shù)據(jù)計算框架 Spark 5.2Spark部署 5.1Spark簡介 5.3Spark配置 5.4Spark RDD 習(xí)題 5.5Spark Shell 大數(shù)據(jù)應(yīng)用人才培養(yǎng)系列教材 5.2 Spark部署 第五章

4、 內(nèi)存大數(shù)據(jù)計算框架Spark l 準備工作 1) 安裝JDK 2) 下載Spark 5.2 Spark部署 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l Spark單節(jié)點部署 1) 選擇一臺 Linux機器,安裝JDK 2) 下載Spark包文件,并解壓 3)運行測試程序(計算圓周率) /bin/run-example SparkPi 10 2/dev/null 5.2 Spark部署 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l Spark集群點部署 Standalone模式集群的架構(gòu) 5.2 Spark部署 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l Spark集群點部署 Standalone模式

5、集群的規(guī)劃 5.2 Spark部署 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l Spark集群點部署 Standalone模式集群的部署步驟 1) 配置Linux機器,調(diào)通網(wǎng)絡(luò),關(guān)閉防火墻 2) 創(chuàng)建用戶dtadmin 3) 配置host文件 4) 安裝JDK 5) 配置免密碼登錄 6) 下載、解壓Spark安裝包 7) 配置slaves文件 8)執(zhí)行啟動腳本,啟動集群 9)驗證安裝是否成功 10)提交測試程序 5.2 Spark部署 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l Spark集群點部署 高可用集群 1)增加備用Master節(jié)點實現(xiàn)高可用集群 2)配置Master節(jié)點本地文件系統(tǒng)恢復(fù)

6、第五章 內(nèi)存大數(shù)據(jù)計算框架 Spark 5.3Spark配置 5.1Spark簡介 5.2Spark部署 5.4Spark RDD 習(xí)題 5.5Spark Shell 大數(shù)據(jù)應(yīng)用人才培養(yǎng)系列教材 5.3 Spark配置 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l 三種配置 1)Spark屬性 應(yīng)用程序相關(guān)配置 2)環(huán)境變量 機器相關(guān)配置 3)日志配置 日志開關(guān)、級別等 5.3 Spark配置 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l Spark屬性, 優(yōu)先級由低到高: 1)spark-defaults.conf 配置文件 2)命令行參數(shù) 3)SparkConf對象 5.3 Spark配置 第五章

7、 內(nèi)存大數(shù)據(jù)計算框架Spark l 常用Spark屬性 屬性名默認值含義 (none)Spark應(yīng)用程序的名稱 spark.driver.cores 1集群模式下driver所使用的core的數(shù)量 spark.driver.memory 1G Driver進程所使用的內(nèi)存大小 spark.executor.memory 1G 每個executor進程所使用的內(nèi)存大小 spark.master (none)集群管理器URL spark.submit.deployMode (none)Driver程序的部署模式,取值 為:”client”或”cluster” 5.3

8、Spark配置 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l 常用環(huán)境變量配置 配置項含義 SPARK_LOCAL_IP 綁定的IP地址 SPARK_PUBLIC_DNS Driver程序使用的DNS服務(wù)器 SPARK_CLASSPATH額外追加的classpath 第五章 內(nèi)存大數(shù)據(jù)計算框架 Spark 5.4Spark RDD 5.1Spark簡介 5.2Spark部署 5.3Spark配置 習(xí)題 5.5Spark Shell 大數(shù)據(jù)應(yīng)用人才培養(yǎng)系列教材 RDD 特性 只讀 彈性分布 數(shù)據(jù)集合 分布式存儲 一旦生成便不可修改,易于同步處理 數(shù)據(jù)的分片可以自定義 與編程語言中的集合類似 第五章

9、內(nèi)存大數(shù)據(jù)計算框架Spark 切分為多個數(shù)據(jù)塊,分散存儲在多個節(jié) 點中 5.4 Spark RDD 可重新計算 在出現(xiàn)異常錯誤的情況下能夠重新計算出 可持久化 可緩存,避免重復(fù)計算 5.4 Spark RDD 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l 常用RDD轉(zhuǎn)換操作 RDD轉(zhuǎn)換含義 map(func) 通過函數(shù)func對數(shù)據(jù)集中的每個成員進行轉(zhuǎn)換 filter(func) 通過函數(shù)func選擇過濾數(shù)據(jù)集中的成員 flatMap(func) 和map轉(zhuǎn)換類似,但函數(shù)func可以把單個成員轉(zhuǎn)換為多個成員。 union(other) 返回當前集合與otherDataset集合的union操作 d

10、istinct 去掉集合中重復(fù)成員,使新的集合中成員各不相同 groupByKey 對鍵-值(key-value)對集合按照鍵(key)進行g(shù)roupBy操作 sortByKey 對鍵-值(key-value)對集合進行排序 join(other) 對兩個鍵-值(key-value)對集合:(K,V),(K,W)進行連接 操作,形成新的鍵-值對集合:(K,(V,W) 5.4 Spark RDD 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l RDD依賴關(guān)系:RDD轉(zhuǎn)換生成新的RDD, 新的RDD依賴于舊的形成依 賴關(guān)系 1)窄依賴 父RDD的每個分區(qū)最多被一個子RDD分區(qū)所依賴 2)寬依賴 子RDD

11、的每個分區(qū)都依賴于父RDD的所有分區(qū)或多個分區(qū) l 按照RDD分區(qū)的依賴關(guān)系可分為兩種類型: 5.4 Spark RDD 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l RDD窄依賴 第一類 第二類 5.4 Spark RDD 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l RDD寬依賴 5.4 Spark RDD 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark of3026 l RDD行動操作(Action) Action含義 collect 返回RDD中的所有元素 count 返回RDD中元素的數(shù)量 countByKey 計算鍵-值對RDD每個鍵(key)對應(yīng)的元素個數(shù) first 返回RDD中第一個元素 ta

12、ke(n) 返回RDD中前n個元素 reduce(func) 通過函數(shù)func對RDD進行聚合操作 saveAsTextFile (path) 把RDD保存為一個文本文件,可以選擇保存在本地文件 系統(tǒng)、HDFS等。文件中的一行為RDD中的一個元素 foreach(func) 通過函數(shù)func對RDD中的每個元素進行計算,通常在更 新累加器或者使用外部存儲系統(tǒng)時用到 5.4 Spark RDD 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l RDD作業(yè)的執(zhí)行 RDD的轉(zhuǎn)換是惰性的(lazy),遇到Action時才會執(zhí)行 第五章 內(nèi)存大數(shù)據(jù)計算框架 Spark 5.5Spark Shell 5.1Spa

13、rk簡介 5.2Spark部署 5.3Spark配置 習(xí)題 5.4Spark RDD 大數(shù)據(jù)應(yīng)用人才培養(yǎng)系列教材 5.5 Spark Shell 第五章 內(nèi)存大數(shù)據(jù)計算框架Spark l 交互式數(shù)據(jù)分析工具,適用于: 1)快速數(shù)據(jù)分析 2)快速原型開發(fā) 3)學(xué)習(xí)Spark API 第五章 內(nèi)存大數(shù)據(jù)計算框架 Spark 習(xí)題 5.1Spark簡介 5.2Spark部署 5.3Spark配置 5.5 Spark Shell 5.4Spark RDD 大數(shù)據(jù)應(yīng)用人才培養(yǎng)系列教材 1.Spark集群有哪幾種模式? 2.Standalone集群中的Master節(jié)點和Slave節(jié)點分別負責(zé) 什么功能? 3.Spark-submit腳本的功能是什么? 4.分布式彈性數(shù)據(jù)集RDD的特點有哪些? 5.列舉三個RDD轉(zhuǎn)換操作,并描述其功能。 6.列舉三個RDD行動操作,并描述其功能。 習(xí)題: AIRack人工智能實驗平臺 一站式的人工智能實驗平臺 DeepRack深度學(xué)習(xí)一體機 開箱即用的AI科研平臺 BDRack大數(shù)據(jù)實驗平臺一站式的大數(shù)據(jù)實訓(xùn)平臺 云計算頭條 微信號:chinacloudnj 中國大數(shù)據(jù) 微信號:cstorbigdata 劉鵬看未來 微信號:lpoutlook 云創(chuàng)大數(shù)據(jù)訂閱號 微信號:cStor_cn 云創(chuàng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論