版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
創(chuàng)建RDD目錄CONTENTS2創(chuàng)建RDD的三種方式1RDD概述RDD概述PART0101RDD概述01RDD是Spark的核心抽象,全稱為ResillientDistributedDataset,即彈性分布式數(shù)據(jù)集。02RDD在抽象上來說是一種元素集合,包含了數(shù)據(jù)。它是被分區(qū)的,分為多個分區(qū),每個分區(qū)分布在集群中的不同節(jié)點上(分區(qū)即partition),從而讓RDD中的數(shù)據(jù)可以被并行操作。(分布式的特性)03RDD通常通過Hadoop上的文件,即HDFS文件,來進行創(chuàng)建;有時也可以通過Spark應(yīng)用程序中的集合來創(chuàng)建。04RDD最重要的特性就是,提供了容錯性,可以自動從節(jié)點失敗中恢復(fù)過來。即如果某個節(jié)點上的RDDpartition,因為節(jié)點故障,導(dǎo)致數(shù)據(jù)丟了,那么RDD會自動通過自己的數(shù)據(jù)來源重新計算partition。這一切對使用者是透明的。05RDD的數(shù)據(jù)默認(rèn)的情況下是存放在內(nèi)存中的,但是在內(nèi)存資源不足時,Spark會自動將RDD數(shù)據(jù)寫入磁盤。(彈性的特性)。創(chuàng)建RDD的三種方式PART0202創(chuàng)建RDD的三種方式SparkCore為我們提供了三種創(chuàng)建RDD的方式,包括:
1.使用程序中的集合創(chuàng)建RDD在RDD中,通常就代表和包含了Spark應(yīng)用程序的輸入源數(shù)據(jù)。
當(dāng)我們,在創(chuàng)建了初始的RDD之后,才可以通過SparkCore提供的transformation算子,對該RDD進行transformation(轉(zhuǎn)換)操作,來獲取其他的RDD。2.使用本地文件創(chuàng)建RDD3.使用HDFS文件創(chuàng)建RDD創(chuàng)建RDD的三種方式3.使用HDFS文件創(chuàng)建RDD,應(yīng)該是最常用的生產(chǎn)環(huán)境處理方式,主要可以針對HDFS上存儲的大數(shù)據(jù),進行離線批處理操作。1.使用程序中的集合創(chuàng)建RDD,主要用于進行測試,可以在實際部署到集群運行之前,自己使用集合構(gòu)造測試數(shù)據(jù),來測試后面的spark應(yīng)用的流程。
2.使用本地文件創(chuàng)建RDD,主要用于的場景為:在本地臨時性地處理一些存儲了大量數(shù)據(jù)的文件。應(yīng)用場景實際操作并行化創(chuàng)建RDD如果要通過并行化集合來創(chuàng)建RDD,需要針對程序中的集合,調(diào)用SparkContext中的parallelize()方法。Spark會將集合中的數(shù)據(jù)拷貝到集群上去,形成一個分布式的數(shù)據(jù)集合,也就是一個RDD。即:集合中的部分?jǐn)?shù)據(jù)會到一個節(jié)點上,而另一部分?jǐn)?shù)據(jù)會到其它節(jié)點上。然后就可以采用并行的方式來操作這個分布式數(shù)據(jù)集合。//并行化創(chuàng)建RDD部分代碼//實現(xiàn)1到5的累加求和valarr=Array(1,2,3,4,5)valrdd=sc.parallelize(arr)valsum=rdd.reduce(_+_)實際操作Spark是支持使用任何Hadoop支持的存儲系統(tǒng)上的文件創(chuàng)建RDD的,比如說HDFS、Cassandra、HBase以及本地文件。通過調(diào)用SparkContext的textFile()方法,可以針對本地文件或HDFS文件創(chuàng)建RDD。使用textFile方法通過本地文件或HDFS創(chuàng)建RDD://實現(xiàn)文件字?jǐn)?shù)統(tǒng)計//textFile()方法中,輸入本地文件路徑或是HDFS路徑//HDFS:hdfs://spark1:9000/data.txt//local:/home/hadoop/data.txtvalrdd=sc.textFile(“/home/hadoop/data.txt”)valwordCount=rdd.map(line=>line.length).reduce(_+_)實際操作可以針對一個目錄中的大量小文件,返回由(fileName,fileContent)組成的pair,即pairRDD,而不是普通的RDD。該方法返回的是文件名字和文件中的具體內(nèi)容;而普通的textFile()方法返回的RDD中,每個元素就是文本中一行文本。SparkContext的wholeTextFiles()方法對于Hadoop的自定義輸入類型,可以創(chuàng)建RDD。該方法接收J(rèn)obConf、InputFormatClass、Key和Value的Class。SparkContext的hadoopRDD()方法可以針對之前調(diào)用的RDD的saveAsObjectFile()創(chuàng)建的對象序列化的文件,反序列化文件中的數(shù)據(jù),并創(chuàng)建一個RDD。SparkContext的objectFile()方法Spark支持的其余方法,創(chuàng)建RDD可以針對SequenceFile創(chuàng)建RDD,K和V泛型類型就是SequenceFile的key和value的類型
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度廠房租賃保證金退還合同范本8篇
- 二零二五年度企事業(yè)單位綠色環(huán)保復(fù)印機采購合同2篇
- 二零二五年度大連礦石運輸安全認(rèn)證與應(yīng)急演練服務(wù)合同4篇
- 2025年度新能源汽車研發(fā)項目合同范本4篇
- 二零二五版美容院員工培訓(xùn)與職業(yè)發(fā)展合同3篇
- 二零二五版家具定制采購合同2篇
- 二零二五年度智能車庫設(shè)施租賃合作協(xié)議4篇
- 二零二五年度影視制作合同范本集錦4篇
- 二零二五版家庭住家保姆與雇主全方位合作協(xié)議3篇
- 二零二五版面粉行業(yè)食品安全責(zé)任合同4篇
- 直播帶貨助農(nóng)現(xiàn)狀及發(fā)展對策研究-以抖音直播為例(開題)
- 腰椎間盤突出疑難病例討論
- 《光伏發(fā)電工程工程量清單計價規(guī)范》
- 2023-2024學(xué)年度人教版四年級語文上冊寒假作業(yè)
- (完整版)保證藥品信息來源合法、真實、安全的管理措施、情況說明及相關(guān)證明
- 營銷專員績效考核指標(biāo)
- 陜西麟游風(fēng)電吊裝方案專家論證版
- 供應(yīng)商審核培訓(xùn)教程
- 【盒馬鮮生生鮮類產(chǎn)品配送服務(wù)問題及優(yōu)化建議分析10000字(論文)】
- 肝硬化心衰患者的護理查房課件
- 2023年四川省樂山市中考數(shù)學(xué)試卷
評論
0/150
提交評論