版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于SparkSQL實(shí)現(xiàn)廣告流量檢測(cè)數(shù)據(jù)探索分析技能拓展+測(cè)試題技能拓展深度學(xué)習(xí)、勇于實(shí)踐是增強(qiáng)本領(lǐng)的重要途徑,通過多方面深度學(xué)習(xí)來不斷更新知識(shí)、更新技能,進(jìn)而提高個(gè)人水平。DataFrame是一種以RDD為基礎(chǔ)的帶有Schema元信息的分布式數(shù)據(jù)集。RDD其實(shí)就是分布式的元素集合。在Spark中,對(duì)數(shù)據(jù)的所有操作不外乎創(chuàng)建RDD、轉(zhuǎn)化已有RDD以及調(diào)用RDD操作進(jìn)行求值。而在背后中,Spark會(huì)自動(dòng)將RDD中的數(shù)據(jù)分發(fā)到集群上,并將操作并行化執(zhí)行。RDD的創(chuàng)建Spark提供了兩種創(chuàng)建RDD的方式:讀取外部數(shù)據(jù)集,以及在驅(qū)動(dòng)器程序中對(duì)一個(gè)集合進(jìn)行并行化。創(chuàng)建RDD最簡(jiǎn)單的方式就是將程序中一個(gè)已有的集合傳給SparkContext的parallelize()方法,可以在Shell中快速創(chuàng)建出RDD,然后對(duì)RDD進(jìn)行操作。不過,需要注意的是,除了開發(fā)原型和測(cè)試時(shí),此方式用得并不多,原因是需要將整個(gè)數(shù)據(jù)集先放在一臺(tái)機(jī)器的內(nèi)存中。RDD的操作RDD支持兩種操作:轉(zhuǎn)換操作和行動(dòng)操作。RDD的轉(zhuǎn)化操作是返回一個(gè)新的RDD的操作,如map()和filter()方法,而行動(dòng)操作則是向驅(qū)動(dòng)器程序返回結(jié)果或?qū)⒔Y(jié)果寫入外部系統(tǒng)的操作,會(huì)觸發(fā)實(shí)際的計(jì)算,如count()和first()方法。轉(zhuǎn)換操作RDD的轉(zhuǎn)換操作是返回新RDD的操作。轉(zhuǎn)換出來的RDD是惰性求值的,只有在行動(dòng)操作中用到RDD時(shí)才會(huì)被計(jì)算。這樣的設(shè)計(jì)使得Spark可以更高效地執(zhí)行計(jì)算任務(wù),避免了不必要的計(jì)算和數(shù)據(jù)移動(dòng)。假定篩選電影評(píng)論數(shù)據(jù)電影類型包含Comedy的電影,可以使用轉(zhuǎn)化操作filter()。RDD的操作行動(dòng)操作行動(dòng)操作是第二種類型的RDD操作,會(huì)將最終求得的結(jié)果返回到驅(qū)動(dòng)器程序,或?qū)懭胪獠看鎯?chǔ)系統(tǒng)中。由于行動(dòng)操作需要生成實(shí)際的輸出,會(huì)強(qiáng)制執(zhí)行求值必須用到的RDD的轉(zhuǎn)化操作。如想輸出數(shù)據(jù)信息,需要使用兩個(gè)行動(dòng)操作來實(shí)現(xiàn),用count()來返回計(jì)數(shù)結(jié)果,用take()來收集RDD中的一些元素,其輸出結(jié)果如圖所示。知識(shí)測(cè)試(1)下列關(guān)于SparkSQL框架的描述錯(cuò)誤的是()。A.SparkSQL可以從各種結(jié)構(gòu)化數(shù)據(jù)源(如JSON、Hive、Parquet等)中讀取數(shù)據(jù)。B.SparkSQL提供了一種特殊的RDD,叫作DataFrame。C.SparkSQL不僅支持通過spark-shell在Spark程序內(nèi)使用SQL語(yǔ)句進(jìn)行數(shù)據(jù)查詢。D.SparkSQL是一個(gè)用于處理結(jié)構(gòu)化數(shù)據(jù)的框架,可被視為一個(gè)分布式的SQL查詢引擎,提供了一個(gè)抽象的可編程數(shù)據(jù)模型RDD。(2)【多選題】下列關(guān)于DataFrame對(duì)象說法正確的是()。A.DataFrame可以通過結(jié)構(gòu)化數(shù)據(jù)文件、外部數(shù)據(jù)庫(kù)、Spark計(jì)算過程中生成的RDD、Hive中的表等數(shù)據(jù)源進(jìn)行創(chuàng)建B.加載JSON文件創(chuàng)建DataFrame,可以使用format()方法和load()方法加載。C.SparkSQL可以通過load()方法將HDFS上的結(jié)構(gòu)化數(shù)據(jù)文件轉(zhuǎn)換為DataFrame。D.將RDD轉(zhuǎn)為DataFrame只能利用反射機(jī)制推斷RDD模式,再創(chuàng)建DataFrame知識(shí)測(cè)試(3)下列選項(xiàng)中,與SparkSQL交互的主要入口點(diǎn)的是()。A.SparkSessionB.HiveContextC.SQLContextD.SparkContext(4)【多選題】Spark編程的上下文是()。A.SparkContextB.SparkSessionC.SQLSessionD.SparkSQLContext知識(shí)測(cè)試(5)SparkSQL可以處理的數(shù)據(jù)源包括()。A.Hive表B.數(shù)據(jù)文件、Hive表C.數(shù)據(jù)文件、Hive表、RDDD.數(shù)據(jù)文件、Hive表、RDD、外部數(shù)據(jù)庫(kù)(6)下列操作中,不是DataFrame的常用操作()。A.printSchema()B.select()C.filter()D.sendto()知識(shí)測(cè)試(7)下列選項(xiàng)中常用于打印DataFrame數(shù)據(jù)模式的是()。A.printSchema()B.show()C.first()D.collect()(8)SparkDataFrame中()方法可以獲取若干行數(shù)據(jù)。A.first()B.head()C.take()D.collect()知識(shí)測(cè)試(9)【多選題】SparkDataFrame中()方法可以返回一個(gè)Array對(duì)象。A.collect()B.take()C.takeAsList()D.collectAsList()(10)Spark中DataFrame的()方法是進(jìn)行查詢前n行記錄。A.where()B.limit()C.sort()D.apply()技能測(cè)試測(cè)試1使用DataFrame查詢操作分析員工基本信息測(cè)試要點(diǎn)通過測(cè)試掌握SparkSQL的基本編程方法。熟悉RDD到DataFrame的轉(zhuǎn)化方法。技能測(cè)試需求說明某公司數(shù)據(jù)庫(kù)中有一份記錄了員工基本信息的數(shù)據(jù),導(dǎo)出文件為employee.csv,員工基本信息的數(shù)據(jù)字段說明如表所示,主要包括了部門、員工id、員工姓名、雇用日期及工資5個(gè)字段。通過對(duì)數(shù)據(jù)進(jìn)行探索分析,分析每個(gè)部門的平均工資情況。字段字段說明dname部門名稱eid員工idename員工姓名hireDate雇用日期salary工資技能測(cè)試實(shí)現(xiàn)步驟讀取文件并加載成employeeRDD。生成一個(gè)StructType對(duì)象,包含了表的模式信息。對(duì)employeeRDD中的每一行元素都進(jìn)行解析。將employeeRDD轉(zhuǎn)化為DataFrame對(duì)象employeeDF。將employeeDF注冊(cè)為臨時(shí)表供查詢使用。使用SQL語(yǔ)句統(tǒng)計(jì)各個(gè)部門平均工資。技能測(cè)試測(cè)試2使用DataFrame查詢操作分析圖書信息測(cè)試要點(diǎn)掌握用結(jié)構(gòu)化數(shù)據(jù)源創(chuàng)建DataFrame的方法。熟悉利用DataFrame注冊(cè)成為臨時(shí)表,通過SQL語(yǔ)句查詢數(shù)據(jù)。技能測(cè)試需求說明書籍是人類進(jìn)步的階梯,為了助力建設(shè)全民終身學(xué)習(xí)的學(xué)習(xí)型社會(huì)、學(xué)習(xí)型大國(guó),我們必須堅(jiān)持發(fā)展素質(zhì)教育,讓每個(gè)人都能夠在閱讀中不斷成長(zhǎng)和進(jìn)步。某出版社數(shù)據(jù)庫(kù)有一份記錄了圖書信息的相關(guān)數(shù)據(jù),導(dǎo)出文件為book.txt。技能測(cè)試圖書信息的相關(guān)數(shù)據(jù)字段說明如表所示,主要包括序號(hào)、書名、評(píng)分、價(jià)格、出版社和圖書鏈接5個(gè)字段。為了實(shí)現(xiàn)對(duì)出版社的圖書量和書籍評(píng)分的統(tǒng)計(jì),通過SparkSQL相關(guān)技術(shù),實(shí)現(xiàn)對(duì)出版社的圖書量及書籍評(píng)分進(jìn)行統(tǒng)計(jì)。字段字段說明id序號(hào)idboo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保育員學(xué)期工作計(jì)劃小班簡(jiǎn)短2022
- 中職學(xué)生開學(xué)典禮精彩發(fā)言稿(14篇)
- 體育部部長(zhǎng)競(jìng)選演講稿三篇
- 五心好家長(zhǎng)先進(jìn)事跡(8篇)
- 主管護(hù)師述職報(bào)告
- 節(jié)水節(jié)電課件教學(xué)課件
- 影響農(nóng)村教師專業(yè)發(fā)展問題的研究結(jié)題報(bào)告
- 影響地產(chǎn)金融的因素
- 輪胎噪聲測(cè)試方法 轉(zhuǎn)鼓法 征求意見稿
- 2025年山東轄內(nèi)農(nóng)村商業(yè)銀行高校畢業(yè)生招聘(2180人)筆試備考題庫(kù)及答案解析
- 門診發(fā)熱病人登記表
- 新課標(biāo)-人教版數(shù)學(xué)六年級(jí)上冊(cè)第五單元《圓》單元教材解讀
- 2022湖北漢江王甫洲水力發(fā)電有限責(zé)任公司招聘試題及答案解析
- 2019新人教必修1unit2Travelling-Around整單元完整教案
- 大學(xué)生辯論賽評(píng)分標(biāo)準(zhǔn)表
- 診所污水污物糞便處理方案及周邊環(huán)境
- 江蘇開放大學(xué)2023年秋《馬克思主義基本原理 060111》形成性考核作業(yè)2-實(shí)踐性環(huán)節(jié)(占過程性考核成績(jī)的30%)參考答案
- 《我是班級(jí)的主人翁》的主題班會(huì)
- 酒店安全設(shè)施及安全制度
- 近代化的早期探索與民族危機(jī)的加劇 單元作業(yè)設(shè)計(jì)
- 租賃機(jī)械設(shè)備施工方案
評(píng)論
0/150
提交評(píng)論