Spark大數(shù)據(jù)分析實務 課件 項目5 基于Spark SQL實現(xiàn)廣告流量檢測數(shù)據(jù)預處理-技能拓展+測試題V1.0_第1頁
Spark大數(shù)據(jù)分析實務 課件 項目5 基于Spark SQL實現(xiàn)廣告流量檢測數(shù)據(jù)預處理-技能拓展+測試題V1.0_第2頁
Spark大數(shù)據(jù)分析實務 課件 項目5 基于Spark SQL實現(xiàn)廣告流量檢測數(shù)據(jù)預處理-技能拓展+測試題V1.0_第3頁
Spark大數(shù)據(jù)分析實務 課件 項目5 基于Spark SQL實現(xiàn)廣告流量檢測數(shù)據(jù)預處理-技能拓展+測試題V1.0_第4頁
Spark大數(shù)據(jù)分析實務 課件 項目5 基于Spark SQL實現(xiàn)廣告流量檢測數(shù)據(jù)預處理-技能拓展+測試題V1.0_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于SparkSQL實現(xiàn)廣告流量檢測數(shù)據(jù)預處理技能拓展+測試題技能拓展Datasets是一個特定域的強類型的不可變數(shù)據(jù)集,每個Datasets都有一個非類型化視圖DataFrame(DataFameDataSet[Row]的一種表示形式)。DataFrame可以通過調(diào)用as(Encoder)方法轉換Datasets,而Datasets則可以通過調(diào)用toDF()方法轉換成DataFrame,兩者之間可以互相靈活轉換。操作Datasets可以像操作RDD一樣使用各種轉換(Transformation)操作并行操作,轉換算子采用“惰性”執(zhí)行方式。技能拓展當調(diào)用Action算子時才會觸發(fā)真正的計算執(zhí)行創(chuàng)建Datasets需要顯式提供Encoder將對象序列化為二進制形式進行存儲,而不是使用Java序列化或Kryo序列化方式Datasets使用專門的編碼器序列化對象在網(wǎng)絡間傳輸處編碼器動態(tài)生成代碼,可以在編譯時檢查類型,不需要將對象反序列化就可以進行過濾、排序等操作。避免了緩存(Cache)過程中頻繁的序列化和反序列化,有效減少了內(nèi)存的使用和Java對象頻繁垃圾回收(GarbageCollection,GC)的開銷。技能拓展Datasets創(chuàng)建的方式有如下兩種方式。通過caseclass創(chuàng)建Datasets,創(chuàng)建結果如下圖。技能拓展DataFrame調(diào)用as[Encoder]方法數(shù)創(chuàng)建Datasets,創(chuàng)建結果如下圖。知識測試(1)下列操作中,DataFrame刪除字段列操作的是()A.drop()B.withColumn()C.select()D.join()(2)DataFrame中drop()方法后返回值的類型是()。A.ArrayB.RowC.DataFrameD.Column知識測試(3)下列操作中,DataFrame新增字段列操作的是()A.drop()B.withColumn()C.select()D.join()(4)【多選題】Spark支持將現(xiàn)有的Hive中的用戶自定義函數(shù)集成至SparkSQL中使用,其中現(xiàn)有的Hive中的用戶自定義函數(shù)類別包括()A.UDFsB.UDAFsC.UDTFsD.FDAFs知識測試(5)【多選題】下列表述屬于內(nèi)連接的代碼是()A.df.join(df,Seq("city","state"),"inner").showB.df.join(df,Seq("city","state")).showC.df.join(df,Seq("city","state"),"left").showD.df.join(df,Seq("city","state"),"right").show(6)【多選題】下列表述說法正確的是()。A.format()方法指定輸出文件格式的方法,如format("json")輸出JSON文件格式。B.mode()方法用于指定數(shù)據(jù)保存的模式,可以接收的參數(shù)有Overwrite、Append、Ignore和ErrorIfExists。C.mode("Overwrite")表示在目標目錄下追加數(shù)據(jù)。D.options()方法用于設置一些額外的選項,如壓縮級別、編碼方式等。知識測試(7)下列選項中,能夠正確的將的DataFrame保存到people.json文件中的語句是()。A.df.write.json("people.json")B.df.json("people.json")C.df.write.format("csv").save("people.json")D.df.write.csv("people.json")(8)下列選項中,可將DataFrame輸出至Hive表的方法是()。A.saveAsStreamingFiles()B.saveAsTable()C.saveAsTextFiles()D.saveAsObjectFiles()知識測試(9)【多選題】下列關于用戶自定義函數(shù)說法正確的是()。A.Spark支持用戶自定義函數(shù)。B.Spark支持將Hive中的用戶自定義函數(shù)集成至SparkSQL中調(diào)用。C.用戶定義好所需函數(shù)后即可在SparkSQL中直接使用。D.注冊函數(shù)的操作有兩種。(10)【多選題】下列方法中可注冊用戶自定義函數(shù)的是()。A.org.apache.spark.udf.registerB.spark.udf.registerC.spark.udfD.org.apache.spark.sql.functions.udf技能測試1.測試要點讀取Hive中的表并創(chuàng)建DataFrame。掌握DataFrame表的聯(lián)合操作得到新的DataFrame。掌握使用DataFrame方法對數(shù)據(jù)信息進行統(tǒng)計。技能測試2.需求說明某公司的人力資源管理系統(tǒng)內(nèi)容組織結構如下圖。技能測試當前人力資源系統(tǒng)的數(shù)據(jù)包含以下幾個部分。職工基本信息:存放職工的基本信息,職工基本信息字段說明如下表。字段字段說明name職工姓名id職工IDsex職工性別age職工年齡year入職年份position職位depID所在部門ID技能測試部門基本信息:存放部門信息,部門基本信息字段說明如下表。字段字段說明department部門名稱depID編號技能測試職工考勤信息:存放職工的考勤信息,職工考勤信息字段說明如下表。字段字段說明year年month月overtime加班次數(shù)latetime遲到次數(shù)absenteeism曠工次數(shù)leaveearlytime早退次數(shù)技能測試職工工資清單:存放職工每月的工資清單信息,職工工資清單如下表。為了更好地了解員工的情況,優(yōu)化人力資源管理,提高組織效率和人效,通過SparkSQL技術對人力資源系統(tǒng)的數(shù)據(jù)分析,實現(xiàn)對各個部門每年職工薪資的總數(shù)的查詢、部門職工的薪資Top10的查詢、部門職工平均工資的排名、各部門每年職工薪資的總數(shù)查詢分析。字段字段說明id員工IDsalary薪資,單位:元技能測試3.實現(xiàn)步驟對人力資源系

溫馨提示

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

評論

0/150

提交評論