spark是一個(gè)用于大規(guī)模數(shù)據(jù)處理的統(tǒng)一計(jì)算引擎。適用于各種各樣原先需要多種不同的分布式平臺(tái)處理的場(chǎng)景,包括批處理、迭代計(jì)算、交互式查詢(xún)、流處理。通過(guò)統(tǒng)一的框架將各種處理流程整合到一起。
創(chuàng)新互聯(lián)專(zhuān)注于改則網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供改則營(yíng)銷(xiāo)型網(wǎng)站建設(shè),改則網(wǎng)站制作、改則網(wǎng)頁(yè)設(shè)計(jì)、改則網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造改則網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供改則網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。
spark特性
spark通過(guò)使用先進(jìn)的DAG調(diào)度器、查詢(xún)優(yōu)化器和物理執(zhí)行引擎,可以高性能地進(jìn)行批量及流式處理。使用邏輯回歸算法進(jìn)行迭代計(jì)算,spark比hadoop速度快100多倍。
spark支持多種編程語(yǔ)言,比如Java、Scala、Python、R及SQL。
spark提供了超過(guò)80多個(gè)高級(jí)算子操作,可以很便捷地構(gòu)建并行計(jì)算應(yīng)用。
spark構(gòu)建了一個(gè)完善的生態(tài)棧,將批量計(jì)算、交互式計(jì)算、流式計(jì)算、機(jī)器學(xué)習(xí)及圖計(jì)算整合到一個(gè)統(tǒng)一的框架體系中。
spark可以運(yùn)行在standalone、YARN、Mesos、Kubernetes及EC2多種調(diào)度平臺(tái)上。
另外,spark可以接入多種數(shù)據(jù)源,比如HDFS、Alluxio、HBase、Cassandra、Hive及本地文件。
spark生態(tài)棧
Spark Core
Spark Core實(shí)現(xiàn)了Spark的基本功能,包括任務(wù)調(diào)度、內(nèi)存管理、錯(cuò)誤恢復(fù)、與存儲(chǔ)系統(tǒng)交互等模塊。Spark Core還包含了對(duì)彈性分布式數(shù)據(jù)集(resilient distributed dataset,簡(jiǎn)稱(chēng)RDD)的API定義。RDD表示分布在多個(gè)計(jì)算節(jié)點(diǎn)上并行操作的元素集合,是Spark的核心抽象模型。
Spark SQL
Spark SQL是Spark用來(lái)處理結(jié)構(gòu)化數(shù)據(jù)的子框架。Spark SQL支持多種數(shù)據(jù)源,比如Hive表、Parquet及JSON等。Spark SQL可使用SQL或Hive的SQL方言(HQL)查詢(xún)數(shù)據(jù),還支持將SQL和RDD相互轉(zhuǎn)換。
Spark Streaming
Spark Streaming是Spark提供的對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行流式計(jì)算的組件。Spark Streaming提供了操作數(shù)據(jù)流的API,同時(shí)還提供了高級(jí)別的容錯(cuò)性、吞吐量及可伸縮性。
MLlib
MLlib是一個(gè)提供常見(jiàn)機(jī)器學(xué)習(xí)(ML)功能的程序庫(kù)。MLlib提供了很多種機(jī)器學(xué)習(xí)算法,包括分類(lèi)、回歸、聚類(lèi)、協(xié)同過(guò)濾等,還提供了模型評(píng)估、數(shù)據(jù)導(dǎo)入及更底層的機(jī)器學(xué)習(xí)原語(yǔ)(包括通用的梯度下降優(yōu)化算法)。
Graphx
Graphx是用來(lái)操作圖(比如社交網(wǎng)絡(luò)的朋友關(guān)系圖)的程序庫(kù),可進(jìn)行并行的圖計(jì)算。Graphx擴(kuò)展了RDD API,能用來(lái)創(chuàng)建一個(gè)頂點(diǎn)和邊都包含任意屬性的有向圖。Graphx支持對(duì)圖的各種操作(比如進(jìn)行圖分隔的subgraph和操作所有頂點(diǎn)的mapVertices),及一些常用算法(比如PageRank和三角計(jì)數(shù))。
集群管理器
Spark設(shè)計(jì)為可高效地在一個(gè)計(jì)算節(jié)點(diǎn)到數(shù)千個(gè)計(jì)算節(jié)點(diǎn)之間伸縮計(jì)算,所以為了獲取大靈活性,spark支持在各種集群管理器上運(yùn)行,包括Hadoop YARN、Apache Mesos及Spark自帶的獨(dú)立調(diào)度器等。
spark用戶(hù)及用途
spark的使用者主要分為兩大目標(biāo)人群:數(shù)據(jù)分析師和工程師。這兩大人群使用spark的典型用例不一致,大致分為兩類(lèi):數(shù)據(jù)分析和數(shù)據(jù)處理。
數(shù)據(jù)分析
數(shù)據(jù)分析師就是主要負(fù)責(zé)分析數(shù)據(jù)并建模的人。他們具備SQL、統(tǒng)計(jì)、預(yù)測(cè)建模(機(jī)器學(xué)習(xí))等方面技能,有一定使用Python、Matlab或R編程的能力。
Spark通過(guò)一系列組件支持?jǐn)?shù)據(jù)分析任務(wù)。Spark shell提供python和scala接口來(lái)進(jìn)行交互式數(shù)據(jù)分析。Spark SQL提供獨(dú)立的SQL shell來(lái)使用SQL探索數(shù)據(jù),也可以通過(guò)標(biāo)準(zhǔn)的Spark程序或Spark shell進(jìn)行SQL查詢(xún)。MLlib程序庫(kù)進(jìn)行機(jī)器學(xué)習(xí)和數(shù)據(jù)分析。Spark還支持調(diào)用R或Matlab外部程序。
數(shù)據(jù)處理
工程師就是使用Spark開(kāi)發(fā)數(shù)據(jù)處理應(yīng)用的軟件開(kāi)發(fā)者。他們具備軟件工程概念(封裝、接口設(shè)計(jì)及面向?qū)ο笏枷耄?,能使用工程技術(shù)設(shè)計(jì)軟件系統(tǒng)。
Spark為開(kāi)發(fā)用于集群并行執(zhí)行的程序提供了捷徑。不需要開(kāi)發(fā)者關(guān)注分布式問(wèn)題、網(wǎng)絡(luò)通信及程序容錯(cuò)性。為工程師提供足夠的接口實(shí)現(xiàn)常見(jiàn)的任務(wù)及對(duì)應(yīng)用監(jiān)控、審查和性能調(diào)優(yōu)。
spark簡(jiǎn)史
2009 ,Spark誕生于UCBerkeley的AMP實(shí)驗(yàn)室
2010 ,Spark正式對(duì)外開(kāi)源
2012-10-15,Spark 0.6.0發(fā)布。
大范圍的性能改進(jìn),增加了一些新特性,并對(duì)Standalone部署模式進(jìn)行了簡(jiǎn)化
2013-02-27,Spark 0.7.0發(fā)布
增加了更多關(guān)鍵特性,例如:Python API、Spark Streaming的alpha版本等
2013-06-21,Spark接受進(jìn)入Apache孵化器
2013-09-17,Spark 0.8.0發(fā)布
支持Scala2.9/YARN2.2/Standalone部署模式下調(diào)度的高可用性,shuffle優(yōu)化等
2014-01-24,Spark 0.9.0發(fā)布
增加了GraphX,機(jī)器學(xué)習(xí)新特性,流式計(jì)算新特性,核心引擎優(yōu)化(外部聚合、加強(qiáng)對(duì)YARN的支持)等
2014-05-26,Spark 1.0.0發(fā)布
增加了Spark SQL、MLlib、GraphX和Spark Streaming都增加了新特性并進(jìn)行了優(yōu)化。Spark核心引擎還增加了對(duì)安全YARN集群的支持
2014-09-03,Spark 1.1.0發(fā)布
Spark核心API及Streaming,Python,SQL,GraphX和MLlib的bug修復(fù)
2014-12-10,Spark 1.2.0發(fā)布
Spark核心API及Streaming,Python,SQL,GraphX和MLlib的bug修復(fù)
2015-03-06,Spark 1.3.0發(fā)布
該版本發(fā)布的大亮點(diǎn)是新引入的DataFrame API,對(duì)于結(jié)構(gòu)型的DataSet,它提供了更方便更強(qiáng)大的操作運(yùn)算。。除了DataFrame之外,還值得關(guān)注的一點(diǎn)是Spark SQL成為了正式版本,這意味著它將更加的穩(wěn)定,更加的全面。
2015-06-03,Spark 1.4.0發(fā)布
該版本將 R API 引入 Spark,同時(shí)提升了 Spark 的核心引擎和 MLlib ,以及 Spark Streaming 的可用性
2015-09-09,Spark 1.5.0發(fā)布
Spark 1.5.0是1.x線上的第6個(gè)發(fā)行版。這個(gè)版本共處理了來(lái)自230+contributors和80+機(jī)構(gòu)的1400+個(gè)patches。
Spark 1.5的許多改變都是圍繞在提升Spark的性能、可用性以及操作穩(wěn)定性。
Spark 1.5.0焦點(diǎn)在Tungsten項(xiàng)目,它主要是通過(guò)對(duì)低層次的組建進(jìn)行優(yōu)化從而提升Spark的性能。
Spark 1.5版本為Streaming增加了operational特性,比如支持backpressure。另外比較重要的更新就是新增加了一些機(jī)器學(xué)習(xí)算法和工具,并擴(kuò)展了Spark R的相關(guān)API。
2015-12-22,Spark 1.6.0發(fā)布
該版本含了超過(guò)1000個(gè)patches,在這里主要展示三個(gè)方面的主題:新的Dataset API,性能提升(讀取Parquet 50%的性能提升,自動(dòng)內(nèi)存管理,streaming state management十倍的性能提升),以及大量新的機(jī)器學(xué)習(xí)和統(tǒng)計(jì)分析算法。
在Spark1.3.0引入DataFrame,它可以提供high-level functions讓Spark更好地處理數(shù)據(jù)結(jié)構(gòu)和計(jì)算。這讓Catalyst optimizer 和Tungsten execution engine自動(dòng)加速大數(shù)據(jù)分析。發(fā)布DataFrame之后開(kāi)發(fā)者收到了很多反饋,其中一個(gè)主要的是大家反映缺乏編譯時(shí)類(lèi)型安全。為了解決這個(gè)問(wèn)題,Spark采用新的Dataset API (DataFrame API的類(lèi)型擴(kuò)展)。Dataset API擴(kuò)展DataFrame API支持靜態(tài)類(lèi)型和運(yùn)行已經(jīng)存在的Scala或Java語(yǔ)言的用戶(hù)自定義函數(shù)。對(duì)比傳統(tǒng)的RDD API,Dataset API提供更好的內(nèi)存管理,特別是在長(zhǎng)任務(wù)中有更好的性能提升。
2016-07-20,Spark 2.0.0發(fā)布
該版本主要更新APIs,支持SQL 2003,支持R UDF ,增強(qiáng)其性能。300個(gè)開(kāi)發(fā)者貢獻(xiàn)了2500補(bǔ)丁程序
2016-12-16,Spark 2.1.0發(fā)布
這是 2.x 版本線的第二個(gè)發(fā)行版。此發(fā)行版在為Structured Streaming進(jìn)入生產(chǎn)環(huán)境做出了重大突破,Structured Streaming 現(xiàn)在支持了event time watermarks了并且支持Kafka0.10
此外,此版本更側(cè)重于可用性,穩(wěn)定性和優(yōu)雅(polish),并解決了1200多個(gè)tickets
2017-07-01,Spark 2.2.0發(fā)布
這是 2.x 系列的第三個(gè)版本。此版本移除了 Structured Streaming 的實(shí)驗(yàn)標(biāo)記(experimental tag),意味著已可以放心在線上使用。
該版本的更新內(nèi)容主要針對(duì)的是系統(tǒng)的可用性、穩(wěn)定性以及代碼潤(rùn)色。包括:
2018-02-23,Spark 2.3.0發(fā)布
這是 2.x 系列中的第四個(gè)版本。此版本增加了對(duì) Structured Streaming 中的 Continuous Processing 以及全新的 Kubernetes Scheduler 后端的支持
其他主要更新包括新的 DataSource 和 Structured Streaming v2 API,以及一些 PySpark 性能增強(qiáng)。
此外,此版本繼續(xù)改進(jìn)項(xiàng)目的可用性、穩(wěn)定性,并持續(xù)潤(rùn)色代碼。
忠于技術(shù),熱愛(ài)分享。歡迎關(guān)注公眾號(hào):java大數(shù)據(jù)編程,了解更多技術(shù)內(nèi)容。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁(yè)名稱(chēng):1.spark簡(jiǎn)介-創(chuàng)新互聯(lián)
本文鏈接:http://jinyejixie.com/article26/dchscg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、云服務(wù)器、小程序開(kāi)發(fā)、手機(jī)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、軟件開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容