Spark總結(jié)篇(一)

這是一篇是劃水的。矿酵。氧猬。。隨便看看就好;荡瘛V迅А!倔矾!

Spark特點(diǎn)

以下特點(diǎn)來(lái)源官網(wǎng)主頁(yè)妄均,僅做翻譯

  • Speed(快)
    Apache Spark achieves high performance for both batch and streaming data,
    實(shí)現(xiàn)了在批處理 和 流處理 的高速數(shù)據(jù)處理,
    using a state-of-the-art DAG scheduler, a query optimizer, and a physical execution engine.
    使用了先進(jìn)的 DAG 調(diào)度哪自,查詢優(yōu)化器 和 物理執(zhí)行引擎

  • Ease of Use(易用)
    Write applications quickly in Java, Scala, Python, R, and SQL.
    可以使用 Java丰包,Scala,Python壤巷,R邑彪,SQL 快速構(gòu)建應(yīng)用
    Spark offers over 80 high-level operators that make it easy to build parallel apps.
    Spark 提供超過(guò)80個(gè)高級(jí)的操作來(lái)輕松的構(gòu)建分布式應(yīng)用
    And you can use it interactively from the Scala, Python, R, and SQL shells.
    并且你可以使用 Scala, Python, R, 和 SQL shells 來(lái)進(jìn)行混合編程

  • Generality(通用)
    Combine SQL, streaming, and complex analytics.
    綜合了 SQL處理,流處理 和 復(fù)雜的數(shù)據(jù)分析
    Spark powers a stack of libraries including SQL and DataFrames,
    Spark 提供了一些列的庫(kù)胧华,包含:SQL and DataFrames(進(jìn)行sql數(shù)據(jù)分析)
    MLlib for machine learning,
    MLlib 進(jìn)行機(jī)器學(xué)習(xí)
    GraphX,
    圖計(jì)算庫(kù)
    and Spark Streaming.
    和 Spark Streaming進(jìn)行流式計(jì)算寄症,
    You can combine these libraries seamlessly in the same application.
    你可以在同一個(gè)應(yīng)用中無(wú)縫的組合使用這些庫(kù)

  • Runs Everywhere(運(yùn)行在任何地方)
    Spark runs on Hadoop, Apache Mesos, Kubernetes, standalone, or in the cloud.
    Spark 可以運(yùn)行在 Hadoop, Apache Mesos, Kubernetes, standalone, 甚至 云端
    It can access diverse data sources.
    并且其支持訪問(wèn)多種數(shù)據(jù)源

Spark 和 MapReduce

1.Spark可以基于內(nèi)存處理數(shù)據(jù),MR每次要落地磁盤
2.Spark有DAG有向無(wú)環(huán)圖優(yōu)化
3.Spark是粗粒度資源申請(qǐng)矩动,MR是細(xì)粒度資源申請(qǐng)
4.Spark中有各種算子 有巧,MR中只有map 和reduce
5.Spark的shuffle 向?qū)τ贛R來(lái)說(shuō)有自己的優(yōu)化同時(shí)有bypass機(jī)制

Spark運(yùn)行模式

  • 本地模式
    開(kāi)發(fā)過(guò)程中常用的模式,
    適用于本地測(cè)試調(diào)試悲没,相當(dāng)于一個(gè)單機(jī)程序篮迎。

  • Standalone 模式
    Spark 自帶一種資源調(diào)度的集群叫 Standalone,
    如果將Spark運(yùn)行在該集群上,我們叫叫做 Standalone 模式甜橱。
    在生產(chǎn)環(huán)境中使用不多逊笆,如果需要保證任務(wù)的穩(wěn)定性,
    需要單獨(dú)搭建一個(gè)集群岂傲,可以考慮

  • Yarn 模式
    在國(guó)內(nèi)應(yīng)該是使用最普遍的模式了吧难裆。
    這也是Spark受歡迎的一個(gè)重要原因,
    畢竟大部分公司都是以 HDFS 作為儲(chǔ)存系統(tǒng)譬胎,
    Yarn作為資源調(diào)度系統(tǒng),
    Spark運(yùn)行在yarn就可以完美的銜接在一起了命锄。

Spark核心RDD

  • 什么是 RDD堰乔?
    RDD全稱 Resilient Distributed Dataset,即 彈性分布式數(shù)據(jù)集脐恩。
    既然叫他數(shù)據(jù)集镐侯,那么其當(dāng)然就是用來(lái)存儲(chǔ)數(shù)據(jù)的,
    不過(guò)網(wǎng)上也大部分認(rèn)為它是不存數(shù)據(jù)的驶冒,
    不過(guò)不管你怎么認(rèn)為苟翻,在用戶看來(lái),
    通過(guò)從 Source數(shù)據(jù) 生成RDD,
    那么后續(xù)的所有對(duì) 該RDD 和 該RDD生成的RDD 操作骗污,
    都是作用在 Source數(shù)據(jù)上的崇猫。

  • RDD 的五大特性
    源碼中有以下注釋:

    • A list of partitions
      RDD 是有一個(gè) 分區(qū)列表的,
      也就是說(shuō)數(shù)據(jù)在RDD里面不是一個(gè)整體需忿,
      而是一個(gè)個(gè)的分區(qū)的诅炉。
    • A function for computing each split
      這里 function 我更愿意理解成 算子,split 大致等于 分區(qū)屋厘,所以:
      一個(gè)算子的計(jì)算是作用在每一個(gè)的 分區(qū)的涕烧,
      所以分區(qū)數(shù)越多,那么計(jì)算的并行度就越高汗洒,
      結(jié)合第一條议纯,那么提升RDD的并行度,只需要提升其分區(qū)數(shù)
    • A list of dependencies on other RDDs
      這個(gè)話是真不太好翻譯,但是大概意思就是溢谤,RDD 之間是相互依賴的瞻凤,
      RDD除了從源數(shù)據(jù)生成,就只剩下從RDD生成RDD這個(gè)方法了世杀。
    • Optionally, a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned)
      可選的鲫构,分區(qū)器是針對(duì) K-V 格式的 RDD的。
      在發(fā)送 Shuffle 的時(shí)候玫坛,分區(qū)器決定了每條數(shù)據(jù)的去向结笨。
    • Optionally, a list of preferred locations to compute each split on (e.g. block locations for an HDFS file)
      可選的,一個(gè)首選的位置的列表,可以提供給每個(gè)分區(qū)的計(jì)算的位置炕吸。
      也就是我們常說(shuō)的數(shù)據(jù)本地化伐憾,計(jì)算向數(shù)據(jù)移動(dòng)。
  • RDD寬窄依賴
    首先明確赫模,依賴是作用于父子RDD之間的树肃。

    • 窄依賴:
      如果一個(gè)父RDD的數(shù)據(jù)只進(jìn)入到一個(gè)子RDD之中,
      那么就是窄依賴瀑罗。
      即胸嘴,一個(gè)子RDD是可以接受來(lái)自多個(gè) 父RDD 的數(shù)據(jù)的,
      只要這些 父RDD 的數(shù)據(jù)都是進(jìn)入到該 子RDD 就還是窄依賴

    • 寬依賴
      如果一個(gè)父RDD的數(shù)據(jù)進(jìn)入到多個(gè)子RDD之中斩祭,
      那么這就是寬依賴了劣像。
      即,如果一個(gè) 父RDD 的數(shù)據(jù)分配到了多個(gè)子RDD 中摧玫,
      那這就是寬依賴耳奕。

  • 為什么要分寬窄依賴?
    寬窄依賴主要是為了用來(lái)切分 Stage 的诬像,
    一個(gè)Stage里面的數(shù)據(jù)是通過(guò)pipeline的計(jì)算模式運(yùn)行的屋群,
    這也就是說(shuō),一個(gè)Stage里面的數(shù)據(jù)計(jì)算坏挠,
    是不需要落地芍躏,完全基于內(nèi)存的。
    而Stage之間是會(huì)發(fā)生 Shuffle降狠,會(huì)涉及到數(shù)據(jù)落地到磁盤纸肉。
    利用寬窄依賴就可以很好區(qū)分那部分運(yùn)算可以分到一個(gè)Stage,
    減少落地磁盤的數(shù)據(jù)喊熟,加快計(jì)算速度柏肪。

#####################################################################################
感覺(jué)Spark很多東西網(wǎng)上都是有現(xiàn)成的,寫起來(lái)也沒(méi)啥成就感芥牌,
暫時(shí)還是先放放吧~~后續(xù)補(bǔ)充一下各個(gè)知識(shí)點(diǎn)的關(guān)鍵字烦味,
大家網(wǎng)上搜索一下也就完事了,
沒(méi)必要自己整~~~~

Spark資源調(diào)度

Spark任務(wù)調(diào)度

二次排序問(wèn)題

分組取topN問(wèn)題#

廣播變量 累加器

Spark-Shuffle

Shuffle文件的尋址

內(nèi)存管理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末壁拉,一起剝皮案震驚了整個(gè)濱河市谬俄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌弃理,老刑警劉巖溃论,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異痘昌,居然都是意外死亡钥勋,警方通過(guò)查閱死者的電腦和手機(jī)炬转,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門伟众,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)掩完,“玉大人,你說(shuō)我怎么就攤上這事蝌矛》坡浚” “怎么了荐吵?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)赊瞬。 經(jīng)常有香客問(wèn)我先煎,道長(zhǎng),這世上最難降的妖魔是什么巧涧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任薯蝎,我火速辦了婚禮,結(jié)果婚禮上褒侧,老公的妹妹穿的比我還像新娘良风。我一直安慰自己谊迄,他們只是感情好闷供,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著统诺,像睡著了一般歪脏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上粮呢,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天婿失,我揣著相機(jī)與錄音,去河邊找鬼啄寡。 笑死豪硅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的挺物。 我是一名探鬼主播懒浮,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼识藤!你這毒婦竟也來(lái)了砚著?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤痴昧,失蹤者是張志新(化名)和其女友劉穎稽穆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體赶撰,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡舌镶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年柱彻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片乎折。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绒疗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出骂澄,到底是詐尸還是另有隱情吓蘑,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布坟冲,位于F島的核電站磨镶,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏健提。R本人自食惡果不足惜琳猫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望私痹。 院中可真熱鬧脐嫂,春花似錦、人聲如沸紊遵。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)暗膜。三九已至匀奏,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間学搜,已是汗流浹背娃善。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瑞佩,地道東北人聚磺。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像炬丸,于是被迫代替她去往敵國(guó)和親瘫寝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容