0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

工業(yè)大數(shù)據(jù)處理領域的“網(wǎng)紅”——Apache Spark

格創(chuàng)東智 ? 2018-12-17 10:55 ? 次閱讀

生活離不開水,同樣離不開數(shù)據(jù),我們被數(shù)據(jù)包圍,在數(shù)據(jù)中生活。當數(shù)據(jù)越來越多時,就成了大數(shù)據(jù)。


在“中國制造2025”的技術路線圖中,工業(yè)大數(shù)據(jù)是作為重要突破點來規(guī)劃的,而在未來的十年,以數(shù)據(jù)為核心構建的智能化體系會成為支撐智能制造和工業(yè)互聯(lián)網(wǎng)的核心動力。而想要理解大數(shù)據(jù),就需要理解大數(shù)據(jù)相關的查詢、處理、機器學習、圖計算和統(tǒng)計分析等。Apache Spark作為新一代輕量級大數(shù)據(jù)快速處理平臺,集成了大數(shù)據(jù)相關的各種能力,是理解大數(shù)據(jù)的首選。

簡單來講,Spark就是一個快速、通用的大規(guī)模數(shù)據(jù)處理引擎,各種不同的應用,如實時流處理、機器學習、交互式查詢等,都可以通過Spark 建立在不同的存儲和運行系統(tǒng)上。今天的格物匯,就帶大家來認識一下如日中天、高速發(fā)展的大數(shù)據(jù)處理明星——Spark。

1Spark發(fā)展歷程


  • 2009年,Spark誕生于伯克利大學AMPLab,最開初屬于伯克利大學的研究性項目,最開始Spark只是一個實驗性的項目,代碼量非常少,僅有3900行代碼左右,屬于輕量級的框架。

  • 2010年,伯克利大學正式開源了Spark項目。

  • 2013年6月,Spark成為了Apache基金會下的項目,進入高速發(fā)展期,第三方開發(fā)者貢獻了大量的代碼,活躍度非常高。

  • 2014年2月,Spark以飛快的速度稱為了Apache的頂級項目。

  • 2014年5月底Spark1.0.0發(fā)布。

  • 2016年6月Spark2.0.0發(fā)布

  • 2018年11月 Spark2.4.0 發(fā)布


Spark作為Hadoop生態(tài)中重要的一員,其發(fā)展速度堪稱恐怖,從誕生到成為Apache頂級項目不到五年時間,不過在如今數(shù)據(jù)量飛速增長的環(huán)境與背景下,Spark作為高效的計算框架能收到如此大的關注也是有所依據(jù)的。

2Spark的特點


速度快

Spark通過使用先進的DAG調(diào)度器、查詢優(yōu)化器和物理執(zhí)行引擎,可以高性能地進行批量及流式處理。使用邏輯回歸算法進行迭代計算,Spark比Hadoop速度快100多倍。


簡單易用

Spark目前支持多種編程語言,比如Java、Scala、Python、R。熟悉其中任一門語言的都可以直接上手編寫Spark程序,非常方便。還支持超過80種高級算法,使用戶可以快速構建不同應用。并且Spark還支持交互式的Python和Scala的Shell,這意味著可以非常方便的在這些Shell中使用Spark集群來驗證解決問題的方法,而不是像以前一樣,需要打包、上傳集群、驗證等。這對于原型開發(fā)非常重要。


通用性高

Spark 目前主要由四大組件,如下:

  • Spark SQL:SQL on Hadoop,能夠提供交互式查詢和報表查詢,通過JDBC等接口調(diào)用;

  • Spark Streaming::流式計算引擎;

  • Spark MLlib:機器學習庫;

  • Spark GraphX:圖計算引擎。

擁有這四大組件,成功解決了大數(shù)據(jù)領域中,離線批處理、交互式查詢、實時流計算、機器學習與圖計算等最重要的任務和問題,這些不同類型的處理都可以在同一應用中無縫使用。Spark統(tǒng)一的解決方案非常具有吸引力,畢竟任何公司都想用統(tǒng)一的平臺處理問題,減少開發(fā)和維護的人力成本和部署平臺的物理成本。當然還有,作為統(tǒng)一的解決方案,Spark并沒有以犧牲性能為代價。相反,在性能方面Spark具有巨大優(yōu)勢。


可融合性

Spark可以運行在standalone、YARN、Mesos、Kubernetes及EC2多種調(diào)度平臺上。其中Standalone模式不依賴第三方的資源管理器和調(diào)度器,這樣降低了Spark的使用門檻,使得所有人可以非常容易地部署和使用Spark。

Spark可以處理所有Hadoop支持的數(shù)據(jù),包括HDFS、Apach HBase、Apach Kudu、Apach Cassanda等。這對于已部署Hadoop集群的用戶特別重要,因為不需要做任何數(shù)據(jù)遷移就可以使用Spark強大的處理能力。



3Spark相比MapReduce優(yōu)勢

Spark與MapReduce 同為計算框架,但作為后起之秀,Spark借鑒了MapReduce,并在其基礎上進行了改進,使得算法性能明顯優(yōu)于MapReduce,下面大致總結一下兩者差異:

1)Spark把運算的中間數(shù)據(jù)存放在內(nèi)存,迭代計算效率更高;MapReduce的中間結果需要落地到磁盤,磁盤io操作多,影響性能。

2)Spark容錯性高,它通過Lineage機制實現(xiàn)RDD算子的高效容錯,某一部分丟失或者出錯,可以通過整個數(shù)據(jù)集的計算流程的血緣關系來實現(xiàn)重建;MapReduce的話容錯可能只能重新計算了,成本較高。

3)Spark更加通用,Spark提供了transformation和action這兩大類的多個功能算子,操作更為方便;MapReduce只提供了map和reduce兩種操作。

4)Spark框架和生態(tài)更為復雜,首先有RDD、血緣lineage、執(zhí)行時的有向無環(huán)圖DAG、stage劃分等等,很多時候spark作業(yè)都需要根據(jù)不同業(yè)務場景的需要進行調(diào)優(yōu)已達到性能要求;MapReduce框架及其生態(tài)相對較為簡單,對性能的要求也相對較弱,但是運行較為穩(wěn)定,適合長期后臺運行。

4Spark與工業(yè)互聯(lián)平臺


工業(yè)互聯(lián)網(wǎng)帶來了工業(yè)數(shù)據(jù)的快速發(fā)展,對于日益增加的海量數(shù)據(jù),傳統(tǒng)單機因本身的軟硬件限制無法應對海量數(shù)據(jù)的處理、分析以及深度挖掘,但作為分布式計算框架的Spark卻能輕松應付這些場景。在工業(yè)互聯(lián)網(wǎng)平臺上,Spark 既能快速實現(xiàn)工業(yè)現(xiàn)場海量流數(shù)據(jù)的處理轉(zhuǎn)換,又能輕松應對工業(yè)大數(shù)據(jù)平臺中海量數(shù)據(jù)的快速批處理分析,自身集成的機器學習框架能夠對海量工業(yè)數(shù)據(jù)進行深度挖掘分析,從而幫助管理者進行決策分析。


基于Spark框架自身的優(yōu)良設計理念以及社區(qū)的蓬勃發(fā)展狀態(tài),相信未來Spark會在工業(yè)互聯(lián)網(wǎng)平臺扮演越來越重要的角色。

本文作者:黃歡,格創(chuàng)東智大數(shù)據(jù)工程師 (轉(zhuǎn)載請注明來源及作者)



聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關推薦

    緩存對大數(shù)據(jù)處理的影響分析

    緩存對大數(shù)據(jù)處理的影響顯著且重要,主要體現(xiàn)在以下幾個方面: 一、提高數(shù)據(jù)訪問速度 在大數(shù)據(jù)環(huán)境中,數(shù)據(jù)存儲通常采用分布式存儲系統(tǒng),數(shù)據(jù)量龐大
    的頭像 發(fā)表于 12-18 09:45 ?197次閱讀

    cmp在數(shù)據(jù)處理中的應用 如何優(yōu)化cmp性能

    CMP在數(shù)據(jù)處理中的應用 CMP(并行處理)技術在數(shù)據(jù)處理領域扮演著越來越重要的角色。隨著數(shù)據(jù)量的爆炸性增長,傳統(tǒng)的串行
    的頭像 發(fā)表于 12-17 09:27 ?317次閱讀

    上位機實時數(shù)據(jù)處理技術 上位機在智能制造中的應用

    。這種技術對于工業(yè)自動化、智能制造等領域至關重要。 在上位機實時數(shù)據(jù)處理中,關鍵技術包括數(shù)據(jù)采集、數(shù)據(jù)處理、
    的頭像 發(fā)表于 12-04 10:29 ?620次閱讀

    FPGA在數(shù)據(jù)處理中的應用實例

    FPGA(現(xiàn)場可編程門陣列)在數(shù)據(jù)處理領域有著廣泛的應用,其高度的靈活性和并行處理能力使其成為許多高性能數(shù)據(jù)處理系統(tǒng)的核心組件。以下是一些FPGA在
    的頭像 發(fā)表于 10-25 09:21 ?475次閱讀

    實時數(shù)據(jù)處理的邊緣計算應用

    實時數(shù)據(jù)處理的邊緣計算應用廣泛,涵蓋了多個行業(yè)和領域。以下是一些典型的應用場景: 一、工業(yè)制造 在工業(yè)制造領域,邊緣計算技術被廣泛應用于生產(chǎn)
    的頭像 發(fā)表于 10-24 14:11 ?444次閱讀

    基于Kepware的Hadoop大數(shù)據(jù)應用構建-提升數(shù)據(jù)價值利用效能

    處理大數(shù)據(jù)集。 Hadoop的生態(tài)系統(tǒng)非常豐富,包括許多相關工具和技術,如Hive、Pig、HBase等,這些工具可以方便地構建復雜的大數(shù)據(jù)應用。Hadoop廣泛應用于各種場景,包括數(shù)據(jù)處理
    的頭像 發(fā)表于 10-08 15:12 ?176次閱讀
    基于Kepware的Hadoop<b class='flag-5'>大數(shù)據(jù)</b>應用構建-提升<b class='flag-5'>數(shù)據(jù)</b>價值利用效能

    spark運行的基本流程

    前言: 由于最近對spark的運行流程非常感興趣,所以閱讀了《Spark大數(shù)據(jù)處理:技術、應用與性能優(yōu)化》一書。通過這本書的學習,了解了spark的核心技術、實際應用場景以及性能優(yōu)化的
    的頭像 發(fā)表于 07-02 10:31 ?439次閱讀
    <b class='flag-5'>spark</b>運行的基本流程

    Spark基于DPU的Native引擎算子卸載方案

    1.背景介紹 Apache Spark(以下簡稱Spark)是一個開源的分布式計算框架,由UC Berkeley AMP Lab開發(fā),可用于批處理、交互式查詢(
    的頭像 發(fā)表于 06-28 17:12 ?720次閱讀
    <b class='flag-5'>Spark</b>基于DPU的Native引擎算子卸載方案

    工業(yè)大數(shù)據(jù)云平臺在設備預測性維護中的作用

    ,只有保證設備的安全穩(wěn)定運行才能保障生產(chǎn)的持續(xù),質(zhì)量的可靠,提升企業(yè)產(chǎn)品競爭力。 因此,企業(yè)就需要加強對設備狀況的及時把握,并一定程度上實現(xiàn)工業(yè)設備預測性維護。為此,數(shù)之能提供的工業(yè)大數(shù)據(jù)云平臺可以全面接入
    的頭像 發(fā)表于 06-28 15:31 ?272次閱讀

    淺談存內(nèi)計算生態(tài)環(huán)境搭建以及軟件開發(fā)

    一個高效和靈活的平臺,特別適合實時數(shù)據(jù)分析和在線事務處理。這一環(huán)境的優(yōu)勢在于其極高的數(shù)據(jù)處理速度和效率,顯著減少了數(shù)據(jù)處理時間,并支持大數(shù)據(jù)
    發(fā)表于 05-16 16:40

    工業(yè)大數(shù)據(jù)發(fā)展面臨的問題

    工業(yè)大數(shù)據(jù)作為工業(yè)與數(shù)字經(jīng)濟之間的橋梁紐帶,對加快工業(yè)數(shù)字化轉(zhuǎn)型、推進數(shù)實融合,支撐新型工業(yè)化建設意義重大。
    的頭像 發(fā)表于 04-16 11:52 ?570次閱讀

    如何利用DPU加速Spark大數(shù)據(jù)處理? | 總結篇

    SSD速度通過NVMe接口得到了大幅提升,并且網(wǎng)絡傳輸速率也進入了新的高度,但CPU主頻發(fā)展并未保持同等步調(diào),3GHz左右的核心頻率已成為常態(tài)。 在當前背景下Apache Spark大數(shù)據(jù)處理工具中,盡管存儲和網(wǎng)絡性能的提升極
    的頭像 發(fā)表于 04-02 13:45 ?1098次閱讀
    如何利用DPU加速<b class='flag-5'>Spark</b><b class='flag-5'>大數(shù)據(jù)處理</b>? | 總結篇

    Spark基于DPU Snappy壓縮算法的異構加速方案

    一、總體介紹 1.1 背景介紹 Apache Spark是專為大規(guī)模數(shù)據(jù)計算而設計的快速通用的計算引擎,是一種與 Hadoop 相似的開源集群計算環(huán)境,但是兩者之間還存在一些不同之處,這些不同之處使
    的頭像 發(fā)表于 03-26 17:06 ?846次閱讀
    <b class='flag-5'>Spark</b>基于DPU Snappy壓縮算法的異構加速方案

    RDMA技術在Apache Spark中的應用

    背景介紹 在當今數(shù)據(jù)驅(qū)動的時代,Apache?Spark已經(jīng)成為了處理大規(guī)模數(shù)據(jù)集的首選框架。作為一個開源的分布式計算系統(tǒng),
    的頭像 發(fā)表于 03-25 18:13 ?1563次閱讀
    RDMA技術在<b class='flag-5'>Apache</b> <b class='flag-5'>Spark</b>中的應用

    基于DPU和HADOS-RACE加速Spark 3.x

    、Python、Java、Scala、R)等特性在大數(shù)據(jù)計算領域被廣泛使用。其中,Spark SQL 是 Spark 生態(tài)系統(tǒng)中的一個重要組件,它允許用戶以結構化
    的頭像 發(fā)表于 03-25 18:12 ?1405次閱讀
    基于DPU和HADOS-RACE加速<b class='flag-5'>Spark</b> 3.x