目錄:
一.實作pyspark互動式編程,分析某大學計算機系的成績,完成如下需求:
(1)該系總共有多少學生;
(2)該系共開設了多少門課程;
(3)Tom同學的總成績平均分是多少;
(4)求每名同學的選修的課程門數;
(5)該系DataBase課程共有多少人選修;
(6)各門課程的平均分是多少;
(7)使用累加器計算共有多少人選了DataBase這門課,
二.撰寫獨立應用程式實作資料去重
對于兩個輸入檔案A和B,撰寫Spark獨立應用程式,對兩個檔案進行合并,并剔除其中重復的內容,得到一個新檔案C,本文給出門課的成績(A.txt、B.txt),
三.撰寫獨立應用程式實作求平均值問題
每個輸入檔案表示班級學生某個學科的成績,每行內容由兩個欄位組成,第一個是學生名字,第二個是學生的成績;撰寫Spark獨立應用程式求出所有學生的平均成績,并輸出到一個新檔案中,本文給出門課的成績(Algorithm.txt、Database.txt、Python.txt)
本次實驗實作平臺:作業系統:Ubuntu16.04、Spark版本:2.4.0、Python版本:3.4.3,
1)pyspark互動式編程
(1)該系總共有多少學生(代碼及其結果如下圖所示);

(2)該系共開設了多少門課程(代碼及其結果如下圖所示);

(3)Tom同學的總成績平均分是多少(代碼及其結果如下圖所示);

(4)求每名同學的選修的課程門數(代碼及其結果如下圖所示);

(5)該系DataBase課程共有多少人選修(代碼及其結果如下圖所示);

(6)各門課程的平均分是多少(代碼及其結果如下圖所示);

(7)使用累加器計算共有多少人選了DataBase這門課(代碼及其結果如下圖所示):

2)撰寫獨立應用程式實作資料去重
(1)對于兩個輸入檔案A和B,撰寫Spark獨立應用程式,對兩個檔案進行合并,并剔除其中重復的內容,得到一個新檔案C,首先創建C.py檔案,匯入SparkContext,匯入A,B檔案,使用union方法合并兩檔案并使用distinct方法去重,然后使用sortBy方法進行排序,最后將結果放入result檔案中,如下圖所示,

(2)運行C.py檔案,得到結果檔案part-00000,如下圖所示,

(3)最終結果如下圖所示,

3)撰寫獨立應用程式實作求平均值問題
(1)撰寫Spark獨立應用程式求出所有學生的平均成績,并輸出到一個新檔案中,首先創建avg_sc.py檔案,加載三個檔案生成RDD,然后合并三個檔案并做拆分,最后使用reduceByKey方法進行分組統計,

(2)運行avg_sc.py檔案,得到結果檔案part-00000,如下圖所示,

(4)最終結果如下圖所示,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/287012.html
標籤:其他
上一篇:扔掉你的演算法書!1小時零基礎拿下貪心演算法!(17道題+萬字兒童級決議+數十張圖解)
下一篇:目標檢測系統
