自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大火的Apache Spark也有諸多不完美

大數(shù)據(jù) Spark
Apache Spark為大數(shù)據(jù)處理提供一套完整的工具,用戶在大數(shù)據(jù)集上進(jìn)行操作完全不需考慮底層基礎(chǔ)架構(gòu),它會幫助用戶進(jìn)行數(shù)據(jù)采集、查詢、處理以及機(jī)器學(xué)習(xí),甚至還可以構(gòu)建抽象分布式系統(tǒng)。

現(xiàn)在如果你想要選擇一個解決方案來處理企業(yè)中的大數(shù)據(jù)并不是難事,畢竟有很多數(shù)據(jù)處理框架可以任君選擇,如Apache Samza,Apache Storm 、Apache Spark等等。Apache Spark應(yīng)該是2016年風(fēng)頭最勁的數(shù)據(jù)處理框架,它在數(shù)據(jù)的批處理和實(shí)時流處理方面有著得天獨(dú)厚的優(yōu)勢。

Apache Spark為大數(shù)據(jù)處理提供一套完整的工具,用戶在大數(shù)據(jù)集上進(jìn)行操作完全不需考慮底層基礎(chǔ)架構(gòu),它會幫助用戶進(jìn)行數(shù)據(jù)采集、查詢、處理以及機(jī)器學(xué)習(xí),甚至還可以構(gòu)建抽象分布式系統(tǒng)。

Apache Spark以速度而聞名,當(dāng)然這是MapReduce改進(jìn)的結(jié)果,它沒有把數(shù)據(jù)保存在磁盤上,而是選擇將數(shù)據(jù)保存在內(nèi)存中。另外,Apache Spark提供了三種語言的庫,即Scala,Java和Python。

Spark架構(gòu)

Apache Spark雖然主要用于處理流數(shù)據(jù),但是它也包含了很多數(shù)據(jù)執(zhí)行操作的組件,上圖就展示了它的不同模塊。

Spark SQL:Apache Spark附帶了SQL接口,這意味著用戶可以直接使用SQL查詢來與數(shù)據(jù)進(jìn)行交互,這些查詢統(tǒng)統(tǒng)是由Spark的執(zhí)行引擎來處理的。

Spark Streaming:此模塊提供一組API,用于編寫對數(shù)據(jù)的實(shí)時流執(zhí)行操作的應(yīng)用程序,它會先將傳入的數(shù)據(jù)流劃分為微批次,然后再對數(shù)據(jù)執(zhí)行操作。

MLib:MLLib提供了一組API,主要用于對大型數(shù)據(jù)集運(yùn)行機(jī)器學(xué)習(xí)算法。

GraphX:支持內(nèi)置的圖操作算法,尤其適用于有很多連接節(jié)點(diǎn)的數(shù)據(jù)集。

除了數(shù)據(jù)處理庫,Apache Spark還附帶了一個Web UI。當(dāng)運(yùn)行Spark應(yīng)用程序時,Web UI會默認(rèn)打開4040端口進(jìn)行監(jiān)聽,用戶可以在其中查看有關(guān)任務(wù)執(zhí)行器和統(tǒng)計信息的詳細(xì)信息,甚至還可以查看任務(wù)在執(zhí)行階段所花費(fèi)的時間,從而幫助用戶進(jìn)一步優(yōu)化性能。

用例

分析:Spark在數(shù)據(jù)流傳入構(gòu)建實(shí)時分析時能夠發(fā)揮很大作用,它可以有效處理各種來源的大量數(shù)據(jù),支持HDFS,Kafka,F(xiàn)lume,Twitter和ZeroMQ,還可以處理自定義數(shù)據(jù)源。

趨勢數(shù)據(jù):Apache Spark可用于從傳入事件流計算趨勢數(shù)據(jù)。

物聯(lián)網(wǎng):物聯(lián)網(wǎng)系統(tǒng)會生成大量數(shù)據(jù)然后將其推送到后端進(jìn)行處理。 Apache Spark能夠以固定的間隔(每分鐘,小時,周,月等)構(gòu)建數(shù)據(jù)管道,還可以基于一組可配置的事件觸發(fā)操作。

機(jī)器學(xué)習(xí):因?yàn)镾park可以批量處理離線數(shù)據(jù)并提供機(jī)器學(xué)習(xí)庫(MLib),所以用戶的數(shù)據(jù)集上可以輕松應(yīng)用機(jī)器學(xué)習(xí)算法。 此外,用戶可以通過一個大型數(shù)據(jù)集來實(shí)驗(yàn)不同的算法,將MLib與Spark Streaming組合,就可以輕松擁有一個實(shí)時機(jī)器學(xué)習(xí)系統(tǒng)。

雖然Apache Spark在很短的時間內(nèi)就獲得了***的人氣,但是它也不是***無缺的。

部署棘手

目前Apache Spark支持三種分布式部署方式,分別是standalone、spark on mesos和 spark on YARN。其中,獨(dú)立部署是最簡單直接的方法,而后兩種部署方式較為復(fù)雜,對于沒有經(jīng)驗(yàn)的新手來說難度很大,在安裝依賴的時候可能會遇到一些問題。如果不正確,Spark應(yīng)用程序?qū)⒃讵?dú)立模式下工作,但在集群模式下運(yùn)行時會遇到類路徑異常。

內(nèi)存問題

因?yàn)锳pache Spark是為處理大量數(shù)據(jù)而存在的,所以監(jiān)控和測量內(nèi)存使用是至關(guān)重要的。Spark中有很多配置是可以根據(jù)用例進(jìn)行調(diào)整的,默認(rèn)配置不一定是***的,所以建議用戶要仔細(xì)閱讀Spark內(nèi)存配置的文檔,根據(jù)自己的需求及時作出調(diào)整。

版本發(fā)布頻繁導(dǎo)致API更改

Apache Spark無論是1.x.x版本還是2.x.x版本都一直遵循著三四個月的發(fā)布周期,雖說版本的快速迭代代表了Spark的活力和開發(fā)人員功能開發(fā)的能力,但是它也意味著API的變化。對于,不希望API變化的用戶來說,頻繁的版本發(fā)布反而成了一大難題,甚至為了確保Spark應(yīng)用程序不受API更改的影響不得不增加額外的開銷。

Python支持不成熟

Apache Spark支持Scala,Java和Python,這很對開發(fā)人員的胃口,但是這三者的地位并非平起平坐的,尤其是在涉及到新功能時,Java和Scala總是可以***時間更新,而 Python庫需要一些時間才能趕上***的API和功能。所以用戶在選用***版本的Spark時,應(yīng)該首先考慮使用Java或Scala實(shí)現(xiàn),如果選用Python則需考慮 feature/API中是否已經(jīng)支持。

文檔貧乏

文檔教程和代碼演練對于新手快速提升能力非常重要,而Apache Spark的樣例雖然會和文檔一起分享出來,但是大部分的示例都很基本,有質(zhì)量的深度樣例很少,所以對于想要學(xué)習(xí)Spark的用戶來說參考意義并不是很大。

后記

Apache Spark能夠在短時間內(nèi)擊敗其它對手走紅,不是沒有道理的,它的確是一款很好的大數(shù)據(jù)處理框架,但是如果你的數(shù)據(jù)沒有達(dá)到一定的量級,選用Spark無異于殺雞用牛刀,而簡單的解決方案不失為一個更好的選擇。

責(zé)任編輯:武曉燕 來源: IT168
相關(guān)推薦

2009-09-11 09:36:53

李開復(fù)

2020-01-14 09:40:10

網(wǎng)絡(luò)安全黑客互聯(lián)網(wǎng)

2014-02-14 15:43:16

ApacheSpark

2012-12-04 10:10:30

求職程序員

2010-08-16 10:39:59

虛擬化

2021-07-25 17:50:27

微軟Windows 11Windows

2021-04-16 20:40:56

JVM內(nèi)存工具

2022-03-25 06:23:36

httpcookie服務(wù)端

2016-12-20 09:47:38

Apache SparLambda架構(gòu)

2010-05-19 13:44:42

Subversion+

2014-03-26 10:52:24

Apache Spar

2017-10-10 17:00:11

SparkHadoop數(shù)據(jù)處理

2018-02-02 15:50:07

決策樹Apache Spar數(shù)據(jù)

2016-11-15 14:07:28

Apache SparLambdaHadoop

2017-04-01 14:01:50

Apache Spar內(nèi)存管理

2010-05-14 10:37:07

Subversion1

2012-01-13 08:46:15

云計算災(zāi)備負(fù)載均衡

2015-09-23 10:12:00

2023-03-16 08:13:56

人工智能?OpenAI

2012-01-13 10:37:04

負(fù)載均衡災(zāi)備
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號