日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Spark的failover容错机制是什么

發布時間:2023/12/15 综合教程 41 生活家
生活随笔 收集整理的這篇文章主要介紹了 Spark的failover容错机制是什么 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章主要介紹“Spark的failover容錯機制是什么”,在日常操作中,相信很多人在Spark的failover容錯機制是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Spark的failover容錯機制是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

SPARK計算框架使用3種方式來實現整體的failover機制:



1.
driver端的checkpoint
在Driver層實現, 用于在Driver崩潰后,
恢復Driver的現場
;


(注意,這個checkpoint和RDD的checkpoint是兩碼事)

2.
executor端的replication
在Receiver中用于
解決單臺executor掛掉后,未保存的數據丟失的問題
3.
WAL: 在Driver和Receiver中實現,用于解決:
(1) Driver掛掉,所有executor都會掛掉,那么所有未保存的數據都丟掉了,replication就不管用了;(
數據不丟失的問題)
(2) Driver掛掉后, 哪些block在掛掉前注冊到了driver中,以及掛掉前哪些block分配給了當時正在運行的batch job, 這些信息就都丟失了;所以需要WAL對這些信息做持久化。(
任務分配的問題)
如果你覺得說的還不夠過癮,可以畫個圖繼續說



  1. 藍色的箭頭表示讀取數據,存儲在executor的內存中,如果開啟了WAL,將會把數據寫入到存在容錯文件系統的日志文件中(executor端的wal)

  2. 青色的箭頭表示提醒driver, 接收到的數據塊的元信息發送給driver中的SparkContext, 這些元數據包括:executor內存中數據塊的引用ID和日志文件中數據塊的偏移信息(driver端的wal)

  3. 黃色箭頭表示checkpoint這些計算,用于重現driver現場。流式處理會周期的被checkpoint到文件中(driver端的checkpoint)


說到這里,恭喜你,能夠把面試官說懵了。



Spark的RDD的五大特性是什么?
這個問題能把很多人問懵逼,其實這個五大特性的說法是在Spark的源碼里的一段注釋,如下:





我簡單解釋下:


1. partition


partition是數據集的基本組成單位,每個分片都會被一個計算任務處理,決定并行計算的粒度。分片數默認是core的數量。

每個分片的存儲是由BlockManager實現的,每個分區都會被邏輯映射成BlockManager的一個Block,而這個Block會被一個Task負責計算。
2. partitioner
一個partitioner,即RDD的分片函數。當前Spark中實現了兩種類型的分片函數,一個是基于哈希的HashPartitioner,另外一個基于范圍的RangePartitioner。
只有對于key-value的RDD,才會有Partitioner。Partitioner函數不但決定了RDD本身的分片數量,也決定了parent RDD Shuffle輸出時的分片數量。
3. compute func
Spark中的RDD的計算是以分片為單位的,每個RDD都會實現compute函數以達到這個目的。compute函數會對迭代器進行復合,不需要保存每次計算的結果。
4. dependency
RDD的每次轉換都會生成一個新的RDD,所以RDD之間就會形成類似于流水線一樣的前后依賴關系。

在部分分區數據丟失時,Spark可以通過這個依賴關系重新計算丟失的分區數據,而不是對RDD的所有分區進行重新計算。
5. preferredLocation
一個列表,存儲存取每個Partition的優先位置(preferred location),對于一個HDFS文件來說,這個列表保存的就是每個Partition所在的塊的位置。
按照“移動數據不如移動計算”的理念,Spark在進行任務調度的時候,會盡可能地將計算任務分配到其所要處理數據塊的存儲位置。

總結

以上是生活随笔為你收集整理的Spark的failover容错机制是什么的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。