學習進度筆記13

2022-06-24 01:03:11 字數 2075 閱讀 8066

今天完成了老師布置的spark實驗4的第一部分,使用的是之前未接觸過的程式設計方式,格式也有很大不同。

一、實驗目的

(1)熟悉 spark 的 rdd 基本操作及鍵值對操作;

(2)熟悉使用 rdd 程式設計解決實際具體問題的方法。

二、實驗平台

作業系統:ubuntu16.04

spark 版本:2.1.0

三、實驗內容和要求

1spark-shell互動式程式設計

了某大學計算機系的成績,資料格式如下所示:

tom,database,80

tom,algorithm,50

tom,datastructure,60

jim,database,90

jim,algorithm,60

jim,datastructure,80

請根據給定的實驗資料,在 spark-shell 中通過程式設計來計算以下內容:

先新建資料夾sparkdata,將資料檔案上傳到目錄

/root/spark/sparkdata/data01.txt

下(1)該系總共有多少學生;

首先獲取該資料檔案,用.split對資料檔案進行分割並取每行的第一段資料,使用

distinct

去重,計算總數並輸出。 

(2)該系共開設來多少門課程;

該操作與上個操作基本一致,唯一的不同就是對資料進行分割時取每行的第二段資料。

(3)tom 同學的總成績平均分是多少;

先找到tom的所有資料,擷取出來並輸出

然後擷取資料取每行資料的第一段和最後一段並將最後一段定義為int型別,mapvalues是對值的操作,不操作key使資料變成(tom,(26,1))

接著需要按key進行

reduce,讓key合併當將

tom進行

reduce

後這裡的

(x,y)

表示的是

(26,1)(12,1),然後對value進行操作,最後輸出。

(4)求每名同學的選修的課程門數;

首先擷取資料並取第一段和第二段資料,然後改變資料的值為(課程,1)

然後將按照key進行合併,將統一

key的值相加,並取其值。

輸出所有人的修課門數

(5)該系 database 課程共有多少人選修;

使用filter記性資料的過濾,讓課程等於

database

並計算資料的行數即可。

(6)各門課程的平均分是多少;

(7)使用累加器計算共有多少人選了 database 這門課。

第13周學習進度

第十三周 所花時間 包括上課 周一 課下閱讀課本1h,課堂聽課2h。周二 團隊召開第二次衝刺計畫會議,商議第二次衝刺階段的功能實現和任務分配 製作任務看板 燃盡圖共1h。週三 早晨開站立會議,更新任務看板,完善燃盡圖以及拍攝工作照共30min。編寫站立會議以部落格30min。學習 如何使用listv...

學習進度筆記

學習進度筆記26 分類演算法 分類演算法屬於監督式學習,使用類標籤已知的樣本建立乙個分類函式或分類模型,應用分類模型,能把資料庫中的類標籤未知的資料進行歸類。分類在資料探勘中是一項重要的任務,目前在商業上應用最多,常見的典型應用場景有流失 精確營銷 客戶獲取 個性偏好等。mllib 目前支援分類演算...

學習進度筆記

學習進度筆記24 讀取檔案演示 import org.apache.spark.sparkconf import org.apache.spark.streaming.import org.apache.spark.streaming.streamingcontext.object fileword...