您的位置: 首頁(yè) >游戲 >

Apache Spark如何幫助快速開發(fā)應(yīng)用程序

2022-08-19 19:53:30 編輯:路宇雁 來(lái)源:
導(dǎo)讀 當(dāng)您認(rèn)為自己有一個(gè)好主意但需要對(duì)其進(jìn)行測(cè)試時(shí),您希望盡可能快速且經(jīng)濟(jì)地進(jìn)行測(cè)試。您不希望進(jìn)入漫長(zhǎng)的開發(fā)和測(cè)試周期并浪費(fèi)大量時(shí)間和金...

當(dāng)您認(rèn)為自己有一個(gè)好主意但需要對(duì)其進(jìn)行測(cè)試時(shí),您希望盡可能快速且經(jīng)濟(jì)地進(jìn)行測(cè)試。您不希望進(jìn)入漫長(zhǎng)的開發(fā)和測(cè)試周期并浪費(fèi)大量時(shí)間和金錢。Apache Spark一直在促進(jìn)快速應(yīng)用程序開發(fā),主要是因?yàn)樗试S您使用shell和API快速測(cè)試您的想法。

什么是Apache Spark?

從技術(shù)上講,Apache Spark是一種數(shù)據(jù)處理引擎,可以將其整合到龐大的數(shù)據(jù)塊中并在瞬間處理它們。它的兩個(gè)主要特征是數(shù)據(jù)處理速度和內(nèi)存性能。這個(gè)集群計(jì)算框架是一個(gè)開源工具,可以幫助初露頭角的開發(fā)人員立即構(gòu)建他們的應(yīng)用程序。

這個(gè)先進(jìn)的數(shù)據(jù)處理框架由AMP實(shí)驗(yàn)室推動(dòng),并于2010年作為開源工具發(fā)布,作為Apache項(xiàng)目的一個(gè)組成部分。整個(gè)Spark項(xiàng)目使用Scala語(yǔ)言編碼,它可以在基于Java的虛擬機(jī)(JVM)上運(yùn)行。

Apache Spark - 快速應(yīng)用程序開發(fā)的新領(lǐng)導(dǎo)者

在使用Apache Spark之后,全球各地的開發(fā)人員一致將其稱為“超級(jí)快”。Apache Spark的各種性能測(cè)量表明,它比現(xiàn)有競(jìng)爭(zhēng)對(duì)手Hadoop快100倍。據(jù)其用戶稱,Spark的內(nèi)存原語(yǔ)超越了當(dāng)前Hadoop基于磁盤的多級(jí)內(nèi)存結(jié)構(gòu)標(biāo)準(zhǔn)。

事實(shí)上,如果任何構(gòu)思與其執(zhí)行之間的時(shí)間差距非常大,那么這些隨意的方法往往將整個(gè)項(xiàng)目扼殺在萌芽狀態(tài)。鑒于此,這個(gè)不斷發(fā)展的科技產(chǎn)業(yè)最昂貴的參數(shù)是什么?

不可否認(rèn),現(xiàn)在是時(shí)候了。

有一句古老的諺語(yǔ)說(shuō):“沒(méi)有人可以阻止一個(gè)想法被執(zhí)行,時(shí)機(jī)已到。” 因此,如果您深入研究開發(fā)應(yīng)用程序的目的,您會(huì)發(fā)現(xiàn)目的很簡(jiǎn)單且永久。你必須解決一個(gè)普遍存在的問(wèn)題?,F(xiàn)在,如果你沒(méi)有踩到現(xiàn)場(chǎng),別人會(huì)。因此,需要一種可以提高“快速”水平的工具是小時(shí)的需要。

Apache Spark功能

Apache Spark具有許多卓越的功能,每個(gè)功能都集成在一起,為它提供了必要的處理能力。從技術(shù)上講,Spark的組件定義了其卓越的能力。Spark的每個(gè)組件都提高了快速應(yīng)用程序開發(fā)的能力。

Spark的內(nèi)存過(guò)程

在Apache Spark智能數(shù)據(jù)處理的這種適應(yīng)性背后,主要股東是其基準(zhǔn)內(nèi)存技術(shù)。那么,實(shí)際上是什么?簡(jiǎn)單來(lái)說(shuō),這是一個(gè)突破。這種內(nèi)存中技術(shù)首先吞噬了內(nèi)存中的大部分提取數(shù)據(jù),然后將其轉(zhuǎn)儲(chǔ)到數(shù)據(jù)存儲(chǔ)磁盤上。話雖這么說(shuō),它的用戶可以將一部分處理過(guò)的數(shù)據(jù)保存在內(nèi)存中,其余的數(shù)據(jù)保存在存儲(chǔ)磁盤上。將數(shù)據(jù)存儲(chǔ)在內(nèi)存中的這一特性使Apache Spark在其利基市場(chǎng)中無(wú)與倫比。

除此之外,可以推斷出Spark具有強(qiáng)大的機(jī)器學(xué)習(xí)算法,因?yàn)樗鼘⒂脩舫绦蛘?qǐng)求的數(shù)據(jù)直接加載到其核心或集群的內(nèi)存中,并以常規(guī)方式查詢。

Spark Core

這是Apache Spark的全部基礎(chǔ)。它主要處理自然分布的各種任務(wù),如I / O執(zhí)行,調(diào)度和調(diào)度。技術(shù)領(lǐng)域也將其視為彈性分布式數(shù)據(jù)集(RDD),它是一組邏輯上分布在不同連接機(jī)器上的分區(qū)數(shù)據(jù)。

通常,這些RDD可以通過(guò)粗粒度數(shù)據(jù)轉(zhuǎn)換過(guò)程創(chuàng)建,該過(guò)程包括四個(gè)基本執(zhí)行:map,filter,reduce和join。因此,整個(gè)RDD通過(guò)API啟動(dòng),該API是三種不同編程語(yǔ)言(Scala,Java和Python)的合并。

Spark SQL

這是該框架的另一個(gè)組成部分,它引發(fā)了一種新的數(shù)據(jù)抽象方法,即SchemaRDD。這個(gè)新的SchemaRDD支持各種級(jí)別的結(jié)構(gòu)化數(shù)據(jù)。它還具有使用特定于域的語(yǔ)言查詢數(shù)據(jù)的功能。

Spark Streaming

該組件用于借助Spark核心的快速調(diào)度功能執(zhí)行數(shù)據(jù)流分析。它將較大的數(shù)據(jù)塊分解為多個(gè)小數(shù)據(jù)包或批處理,并對(duì)這些數(shù)據(jù)塊應(yīng)用RDD轉(zhuǎn)換。

GraphX

該組件是分布式圖形處理網(wǎng)絡(luò),在需要表達(dá)完整圖形計(jì)算的情況下非常有用。

MLib:機(jī)器學(xué)習(xí)庫(kù)

從技術(shù)上講,它是一個(gè)分布式機(jī)器學(xué)習(xí)框架。它的執(zhí)行速度遠(yuǎn)遠(yuǎn)高于Hadoop基于磁盤的版本,因?yàn)镾park利用基于分布式內(nèi)存的架構(gòu) - 這是Apache Spark的主要差異化參數(shù) - 與其他類似的框架。MLib基本上采用統(tǒng)計(jì)算法來(lái)解決各種機(jī)器學(xué)習(xí)問(wèn)題,如匯計(jì),假設(shè)檢驗(yàn)和數(shù)據(jù)抽樣。它還涉及數(shù)據(jù)集群,協(xié)作過(guò)濾和數(shù)據(jù)回歸。

Spark - 面向開發(fā)人員的多功能工具

除了其他功能外,Spark還是面向全球所有開發(fā)人員的多功能應(yīng)用程序開發(fā)框架。它可以用比如Scala,Python和Java的,關(guān)閉和不同的編程語(yǔ)言工作[R 。

結(jié)論

Spark是大數(shù)據(jù)的后Hadoop轉(zhuǎn)換,因?yàn)榍罢邠碛信c后者的主題匹配。隨著物聯(lián)網(wǎng)人口的不斷增長(zhǎng),大數(shù)據(jù)的增長(zhǎng)速度越來(lái)越快,而技術(shù)世界需要一些能夠與其增長(zhǎng)保持同步的東西。不可否認(rèn),Hadoop擁有大數(shù)據(jù)的黃金時(shí)代,但它并不是大數(shù)據(jù)領(lǐng)域快速應(yīng)用程序開發(fā)的最終標(biāo)準(zhǔn)。Apache Spark看起來(lái)是下一代數(shù)據(jù)密集型應(yīng)用程序開發(fā)生態(tài)系統(tǒng)的代表。


免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!

最新文章

精彩推薦

圖文推薦

點(diǎn)擊排行

2016-2022 All Rights Reserved.平安財(cái)經(jīng)網(wǎng).復(fù)制必究 聯(lián)系QQ280 715 8082   備案號(hào):閩ICP備19027007號(hào)-6

本站除標(biāo)明“本站原創(chuàng)”外所有信息均轉(zhuǎn)載自互聯(lián)網(wǎng) 版權(quán)歸原作者所有。