08 案例 學生與課程統計

2021-10-08 16:07:45 字數 3297 閱讀 6736

下面這種資料結構,節選了幾條資料:

aaron,operatingsystem,100

aaron,python,50

aaron,computernetwork,30

aaron,software,94

abbott,database,18

abbott,python,82

abbott,computernetwork,76

abel,algorithm,30

abel,datastructure,38

abel,operatingsystem,38

abel,computernetwork,92

abraham,datastructure,12

abraham,computernetwork,78

abraham,software,98

檔案上傳到容器:docker cp 本地檔案路勁 id全稱:你的容器的路徑

docker cp d:/jupyternotebook/測試資料/spark/data01.txt a89262625a0a:/spark/data

d:/jupyternotebook/測試資料/spark/data01.txt

檢視容器id:docker ps -a

或者開啟scala,用textfile()上傳到集群

docker cp d:\jupyternotebook\測試資料\spark\課程資料 a89262625a0a:/spark/data

docker cp d:\project\spark\test7.py a89262625a0a:/spark/data

scala**:

從集群中讀取資料

val lines = sc.textfile(

"d:///jupyternotebook/測試資料/spark/data01.txt"

)val lines = sc.textfile(

"/spark/data/data01.txt"

)//從集群中讀取的路徑

檢視資料:

lines.foreach(elem=

>println(elem)

)

建立鍵值對,以學生姓名為主鍵,統計主鍵個數即可

scala**:

lines.

map(line=

>line.split(

",")(0

)).distinct(

).count(

)

輸出:

res2: long =

265

說明:

scala**:

lines.

map(line=

>line.split(

",")(1

)).distinct(

).count(

)

輸出:

res3: long =

8

val tom = lines.

filter

(line=

>line.split(

",")(0

)=="tom"

)val tom_1 = tom.

map(t=

>

(t.split(

",")(0

),(t.split(

",")(2

).toint,1)

))val tom_2 = tom_1.reducebykey(

(a,b)

=>

(a._1+b._1, a._2+b._2)

)tom_2.mapvalues(a=

>a._1/a._2)

.first(

)

輸出結果:

res4:

(string, int)

=(tom,

30)

val student = lines.

map(a=

>

(a.split(

",")(0

),1)

)val student_1 = student.reducebykey(

(a,b)

=>a+b)

.foreach(println)

輸出:只列出部分

(bartholomew,5)

(ford,3)

(lennon,4)

(joshua,4)

(tom,5)

……student_1: unit =

()

val db = lines.

filter

(a=>a.split(

",")(1

)=="database").

map(a=

>

(a.split(

",")(1

),1)

).reducebykey(

(a,b)

=>a+b)

.foreach(println)

輸出:

(database,

126)

val course = lines.

map(a=

>

(a.split(

",")(1

),(a.split(

",")(2

).toint,1)

)).reducebykey(

(a,b)

=>

(a._1+b._1, a._2+b._2)

).mapvalues(a=

>a._1/a._2)

.foreach(println)

輸出:

(clanguage,50)

(python,57)

(operatingsystem,54)

(software,50)

(algorithm,48)

(datastructure,47)

(database,50)

(computernetwork,

51)

6 案例 人臉案例

1 得到影象的特徵後,訓練乙個決策樹構建的adaboost級聯決策器來識別是否為人臉 2 opencv中自帶已訓練好的檢測器,包括面部,眼睛,貓臉等,都儲存在xml檔案中,我們可以通過以下程式找到他們 主程式如下 import cv2 as cv import matplotlib.pyplot a...

10案例分析

銀行 信用風險,即客戶違約風險,是銀行風險管控的主要內容。不同行業,不同企業,財務指標的風險程度不同。假資料,假資訊,假報表的現象,財務資訊的質量問題有三個方面是非常重要的 1.建立識別假報表的管理體系 2.研究建立財務資訊的勾稽關係,即通過相互之間的購機關係的檢驗來判別資料的質量 3.建立資料的錄...

90 (案例)Lambda案例演示一

從匿名內部類到最簡化的lambda表示式逐漸演示 public inte ce demo02cookpublic class demo02 lambda方式 引數列表 一些重寫方法的 makecook lambda方式 繼續簡化 3 一些 如果 中的 只有一行,無論是否有返回值,都可以省略 retu...