<track id="ttlv7"></track>

<pre id="ttlv7"></pre>

      <dl id="ttlv7"></dl>

        <track id="ttlv7"></track>
        <del id="ttlv7"></del>
          <mark id="ttlv7"><ruby id="ttlv7"></ruby></mark>

              <b id="ttlv7"><span id="ttlv7"></span></b>

                <big id="ttlv7"><th id="ttlv7"><dfn id="ttlv7"></dfn></th></big>

                教育行業A股IPO第一股(股票代碼 003032)

                全國咨詢/投訴熱線:400-618-4000

                RDD容錯機制?RDD是如何恢復數據的?

                更新時間:2021年03月05日17時06分 來源:傳智教育 瀏覽次數:



                RDD是一個容錯的、并行的數據結構,可以讓用戶顯式地將數據存儲到磁盤和內存中,并且還能控制數據的分區。對于迭代式計算和交互式數據挖掘,RDD可以將中間計算的數據結果保存在內存中,當Spark集群中的某一個節點由于宕機導致數據丟失,就可以通過Spark中的RDD進行容錯恢復已經丟失的數據。RDD提供了兩種故障恢復的方式,分別是血統(Lineage)方式和設置檢查點(checkpoint)方式。下面,我們就來介紹一下這兩種方式。


                血統(Lineage)方式,主要是根據RDD之間的依賴關系對丟失數據的RDD進行數據恢復。如果丟失數據的子RDD在進行窄依賴運算,則只需要把丟失數據的父RDD的對應分區進行重新計算即可,不需要依賴其他的節點,并且在計算過程中不會存在冗余計算;若丟失數據的RDD進行寬依賴運算,則需要父RDD的所有分區都要進行從頭到尾的計算,在計算過程中會存在冗余計算。為了解決寬依賴運算中出現的計算冗余問題,Spark又提供了另一種方式進行數據容錯,即設置檢查點(checkpoint)方式。

                設置檢查點(checkPoint)方式,本質上是將RDD寫入磁盤進行存儲。當RDD在進行寬依賴運算時,只需要在中間階段設置一個檢查點進行容錯,即通過Spark中的sparkContext對象調用setCheckpoint()方法,設置一個容錯文件系統目錄(如HDFS)作為檢查點checkpoint,將checkpoint的數據寫入之前設置的容錯文件系統中進行高可用的持久化存儲,若是后面有節點出現宕機導致分區數據丟失,則可以從做檢查點的RDD開始重新計算即可,不需要進行從頭到尾的計算,這樣就會減少開銷。




                猜你喜歡:

                RDD為什么要進行數據持久化?持久化詳細操作步驟示例

                怎樣使用Linux和HDFS創建RDD?

                RDD是如何操作數據轉換的?RDD轉換算子API示例

                傳智教育大數據培訓課程


                久久婷婷五月综合色啪,好好热精品视频6,天天玩,天天鲁,天天曰,,超频99免费观看视频,一道精品视频一区二区三区,成av人电影在线观看,欧美成 人 在线播放