Spark從入門到精通 一 Spark架構

2021-10-08 02:16:02 字數 1122 閱讀 8839

spark與mapreduce的區別

都是分布式計算框架,spark基於記憶體,mr基於hdfs。spark處理資料的能力一般是mr的十倍以上,spark中除了基於記憶體計算外,還有dag有向無環圖來切分任務的執行先後順序。

spark主要分為三大部分

sparkcore:對非結構化資料的處理,rdd

sparksql:對結構化的資料的處理,dataset,dataframe

sparkstreaming:微批計算

spark的一些名詞介紹

寬窄依賴

rdd之間有一系列的依賴關係,依賴關係又分為窄依賴和寬依賴。

窄依賴:父rdd和子rdd partition之間的關係是一對一的。或者父rdd乙個partition只對應乙個子rdd的partition情況下的父rdd和子rdd partition關係是多對一的。不會有shuffle的產生。

寬依賴:父rdd與子rdd partition之間的關係是一對多。會有shuffle的產生。

stage

spark任務會根據rdd之間的依賴關係,形成乙個dag有向無環圖,dag會提交給dagscheduler,dagscheduler會把dag劃分相互依賴的多個stage,劃分stage的依據就是rdd之間的寬窄依賴。遇到寬依賴就劃分stage,每個stage包含乙個或多個task任務。然後將這些task以taskset的形式提交給taskscheduler執行。stage是由一組並行的task組成。

stage切割規則:從後往前,遇到寬依賴就切割stage。

spark資源排程和任務排程(可以參考任務提交流程圖)

粗粒度資源申請(spark)

缺點:直到最後乙個task執行完成才會釋放資源,集群的資源無法充分利用。

細粒度資源申請(mapreduce)

優點:集群的資源可以充分利用。

Spark從入門到精通

spark從入門到精通 一 什麼是spark 大資料計算框架 離線批處理 大資料體系架構圖 spark spark包含了大資料領域常見的各種計算框架 比如spark core用於離線計算,spark sql用於互動式查詢,spark streaming用於實時流式計算,spark mlib用於機器學...

Zabbix從入門到精通(一)

zabbix可以說是乙個非常優秀的開源網管系統,即使是現在的很多大廠商使用的還是zabbix做監控,或者針對zabbix進行二次開發。需要詳細了解zabbix的可以去它的官網去了解,這裡就不多說了。zabbix,本文主要介紹怎麼快速搭建zabbix,這裡主要介紹部署包安裝zabbix,也是最簡單的一...

SVM從入門到精通 一

我是標題黨 doge 最近在看svm演算法的原理,之前只知道用,但是對理論推導並不是很明白,這次算是複習一下,加深理解。要深入理解svm,首先要從感知機說起。什麼是感知機呢?感知機 perceptron 是二類分類的線性分類模型。假設輸入空間為 rn rn 輸出空間是y 1,1y 1,1 由輸入空間...