spark 程式設計流程及案例

2021-10-13 07:16:55 字數 960 閱讀 8122

第一步、資料的讀取(輸入)

將要處理的資料讀取封裝到乙個集合rdd中(模擬與scala中list列表)

val inputrdd = sc.textfile("…」)

第二步、資料處理(分析)

呼叫集合rdd中函式(高階函式)進行處理分析

rdd ->函式 ->另外乙個rdd :transformation函式

val outpurdd = inputrdd.#(#:基本就是list中函式)

比如:map\flatmap\filter\reducebykey

第三步、資料的輸出(輸出)

呼叫rdd中函式,返回的不是rdd型別

outputrdd.# :此型別函式稱為action函式

foreach\count\sum\first

3步放在一起,就是鏈式程式設計

sc.textfile(…).transformation().action

//第一步:資料的讀取(輸入)

val pageviewrdd: rdd[string] = spark.read.textfile("file:///d:/tmpdata/page_views.data").rdd

pageviewrdd.cache()

println(s"count=$")

//第二步:資料的處理(分析)

val timelengthcountrdd: rdd[(string, int)] = pageviewrdd.map(line =>)

//按照sessionid進行分組,得到每個會話 所有訪問時間

.groupbykey() //(string, iterable[long])

.mapelse if(timelength <20)else if(timelength <30)else}}

.reducebykey(_ + _)

//關閉資源

spark.stop()}}

spark工作流程及原理(一)

spark架構的組成圖如下 cluster manager 在standalone模式中即為master主節點,控制整個集群,監控worker。在yarn模式中為資源管理器 worker節點 從節點,負責控制計算節點,啟動executor或者driver。spark執行流程圖如下 2.sparkco...

Spark執行流程

四個步驟 1.構建dag 呼叫rdd上的運算元 2.dagscheduler將dag切分stage 切分的依據是shuffle 將stage中生成的task以taskset的形式給taskscheduler 3.taskscheduler排程task 根據資源情況將task排程到相應的executo...

Spark執行流程

參考博文 apache spark 是專為大規模資料處理而設計的快速通用的計算引擎。hadoop雖然已成為大資料技術的事實標準,但其本身還存在諸多缺陷,最主要的缺陷是其mapreduce計算模型延遲過高,無法勝任實時 快速計算的需求,因而只適用於離線批處理的應用場景。磁碟io開銷大。每次執行時都需要...