溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Spark提交的方式是什么

發(fā)布時間:2021-12-23 11:50:28 來源:億速云 閱讀:202 作者:iii 欄目:云計算

本篇內(nèi)容主要講解“Spark提交的方式是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Spark提交的方式是什么”吧!

1、Spark是什么?

    ○ 高可伸縮性

    ○ 高容錯

    ○ 基于內(nèi)存計算

2、Spark的生態(tài)體系(BDAS,中文:伯利克分析棧)

    ○ MapReduce屬于Hadoop生態(tài)體系之一,Spark則屬于BDAS生態(tài)體系之一

    ○ Hadoop包含了MapReduce、HDFS、HBase、Hive、Zookeeper、Pig、Sqoop等

    ○ BDAS包含了Spark、Shark(相當(dāng)于Hive)、BlinkDB、Spark Streaming(消息實時處理框架,類似Storm)等等

    ○ BDAS生態(tài)體系圖:

    Spark提交的方式是什么

3、Spark與MapReduce

    優(yōu)勢:

    ○ MapReduce通常將中間結(jié)果放到HDFS上,Spark是基于內(nèi)存并行大數(shù)據(jù)框架,中間結(jié)果存放到內(nèi)存,對于迭代數(shù)據(jù)Spark效率高。

    ○ MapReduce總是消耗大量時間排序,而有些場景不需要排序,Spark可以避免不必要的排序所帶來的開銷

    ○ Spark是一張有向無環(huán)圖(從一個點出發(fā)最終無法回到該點的一個拓?fù)洌?,并對其進(jìn)行優(yōu)化。

4、Spark支持的API

    Scala、Python、Java等

5、運行模式

    ○ Local (用于測試、開發(fā))

    ○ Standlone (獨立集群模式)

    ○ Spark on Yarn (Spark在Yarn上)

    ○ Spark on Mesos (Spark在Mesos)

6、運行時的Spark

    Driver程序啟動多個Worker,Worker從文件系統(tǒng)加載數(shù)據(jù)并產(chǎn)生RDD(即數(shù)據(jù)放到RDD中,RDD是一個數(shù)據(jù)結(jié)構(gòu)),并按照不同分區(qū)Cache到內(nèi)存中。如圖:

    Spark提交的方式是什么

8、容錯Lineage

    8.1、容錯基本概念

        ○ 每個RDD都會記錄自己所依賴的父RDD,一旦出現(xiàn)某個RDD的某些partition丟失,可以通過并行計算迅速恢復(fù)

    8.2、Narrow Dependent(窄依賴)和Wide Dependent(寬依賴)

        ○ RDD的依賴又分為Narrow Dependent(窄依賴)和Wide Dependent(寬依賴)

        ○ 窄依賴:每個partition最多只能給一個RDD使用,由于沒有多重依賴,所以在一個節(jié)點上可以一次性將partition處理完,且一旦數(shù)據(jù)發(fā)生丟失或者損壞可以迅速從上一個RDD恢復(fù)

        ○ 寬依賴:每個partition可以給多個RDD使用,由于多重依賴,只有等到所有到達(dá)節(jié)點的數(shù)據(jù)處理完畢才能進(jìn)行下一步處理,一旦發(fā)生數(shù)據(jù)丟失或者損壞,則完蛋了,所以在這發(fā)生之前必須將上一次所有節(jié)點的數(shù)據(jù)進(jìn)行物化(存儲到磁盤上)處理,這樣達(dá)到恢復(fù)。

        ○ 寬、窄依賴示例圖:

        Spark提交的方式是什么

9、緩存策略

    Spark通過useDisk、useMemory、deserialized、replication4個參數(shù)組成11種緩存策略。

    useDisk:使用磁盤緩存(boolean )

    useMemory:使用內(nèi)存緩存(boolean)

    deserialized:反序列化(序列化是為了網(wǎng)絡(luò)將對象進(jìn)行傳輸,boolean:true反序列化\false序列化)

    replication:副本數(shù)量(int)

    通過StorageLevel類的構(gòu)造傳參的方式進(jìn)行控制,結(jié)構(gòu)如下:

    class StorageLevel private(useDisk : Boolean ,useMemory : Boolean ,deserialized : Boolean ,replication:Ini)

10、提交的方式

    ○ spark-submit(官方推薦)

    ○ sbt run

    ○ java -jar

    提交時可以指定各種參數(shù)

 ./bin/spark-submit    
--class <main-class>   
--master <master-url> 
--deploy-mode <deploy-mode> 
--conf <key>=<value> 
... # other options
<application-jar> 
[application-arguments]

例如:

Spark提交的方式是什么

到此,相信大家對“Spark提交的方式是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI