第一章 Spark系统概述
生活随笔
收集整理的這篇文章主要介紹了
第一章 Spark系统概述
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
第一章 Spark系統(tǒng)概述
目錄
注:學(xué)習(xí)《Spark大數(shù)據(jù)處理技術(shù)》筆記
1. 大數(shù)據(jù)處理框架
1. 集群環(huán)境對(duì)于編程的挑戰(zhàn)
2. 由此產(chǎn)生了大數(shù)據(jù)編程框架
許多專有系統(tǒng)在解決同樣的問(wèn)題,比如分布式作業(yè)以及容錯(cuò),這些問(wèn)題在每個(gè)專有系統(tǒng)中會(huì)被重復(fù)被解決
在不同的系統(tǒng)之間進(jìn)行組合計(jì)算是一件費(fèi)力不討好的事情
如果一個(gè)應(yīng)用不適合一個(gè)專有的計(jì)算系統(tǒng),那么只能換一個(gè)系統(tǒng),或者重新寫一個(gè)計(jì)算系統(tǒng)
在不同的計(jì)算引擎之間進(jìn)行資源的動(dòng)態(tài)共享是比較困難的
對(duì)于多個(gè)專有系統(tǒng),需要花費(fèi)更多的精力和時(shí)間來(lái)管理和部署
2. Spark大數(shù)據(jù)處理框架
1. Spark的由來(lái)
2. RDD的表達(dá)能力
可以用于圖處理和機(jī)器學(xué)習(xí)
MapReduce由于容錯(cuò)模型導(dǎo)致速度很慢,RDD通過(guò)實(shí)現(xiàn)很多通用的數(shù)據(jù)庫(kù)引擎特性,可以獲得非常好的性能
RDD提供的接口是MapReduce的超集,所以RDD可以有效運(yùn)行利用MapReduce實(shí)現(xiàn)的應(yīng)用程序
D-Stream(離散數(shù)據(jù)流)將流式計(jì)算當(dāng)做一系列的短小而確定的批處理操作,將兩個(gè)離散流之間的狀態(tài)保存在RDD中。離散型模型能夠運(yùn)行通過(guò)RDD的繼承關(guān)系圖進(jìn)行并行性的恢復(fù)而不需要進(jìn)行數(shù)據(jù)拷貝
3. Spark子系統(tǒng)
十分鐘到半小時(shí)
十秒到數(shù)分鐘
數(shù)百毫秒到數(shù)秒
基于RDD提供了豐富的操作接口,利用DAG進(jìn)行統(tǒng)一的任務(wù)規(guī)劃,使得Spark能夠更加靈活處理類似MapReduce的批處理作業(yè)
兼容Hive的接口HQL,提供了比Hive高出10~100倍的查詢速度的分布式SQL引擎
將流式計(jì)算分解成一系列短小的批處理作業(yè),利用Spark輕量級(jí)和低延時(shí)的調(diào)度框架,可以很好的支持流式處理
基于Spark的圖計(jì)算框架,兼容Pregel和GraphLab接口,增強(qiáng)了圖構(gòu)建以及圖轉(zhuǎn)換功能
Spark Core天然地非常適合迭代式計(jì)算,MLlib就是構(gòu)建在Spark上的機(jī)器學(xué)習(xí)算法庫(kù)。
Spark生態(tài)系統(tǒng)兼容Hadoop生態(tài)系統(tǒng)
Spark生態(tài)系統(tǒng)學(xué)習(xí)成本很低
要實(shí)現(xiàn)一個(gè)相對(duì)完整的端到端解決方案,以前需要部署維護(hù)多個(gè)專有系統(tǒng),現(xiàn)在只需要一個(gè)Spark系統(tǒng)
Spark性能表現(xiàn)優(yōu)異
由于Spark利用DAG進(jìn)行調(diào)度執(zhí)行規(guī)劃,所以在多任務(wù)計(jì)算以及迭代計(jì)算中能夠大量減少磁盤I/O的時(shí)間。另外,對(duì)于每一項(xiàng)任務(wù)啟動(dòng)一個(gè)線程,而不是進(jìn)程,大大縮短了任務(wù)啟動(dòng)時(shí)間
Spark有強(qiáng)大的社區(qū)支持
Spark支持多種語(yǔ)言編程接口
Spark生態(tài)本身使用Scala語(yǔ)言編寫的,但考慮到其流行性,因此Spark從一開(kāi)始就支持Java和Python接口。
總結(jié)
以上是生活随笔為你收集整理的第一章 Spark系统概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode——数学
- 下一篇: LeetCode——链表