中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何理解troubleshooting 錯誤的持久化方式以及checkpoint的使用

發布時間:2021-11-10 17:34:08 來源:億速云 閱讀:149 作者:柒染 欄目:云計算

本篇文章為大家展示了如何理解troubleshooting 錯誤的持久化方式以及checkpoint的使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

        來說下CheckPoint,有時候它對故障會產生效果,它最起效果的時候是什么時候呢?如果緩存BlockManager會根據你的緩存策略去把數據存到內存或者磁盤!持久化,大多數時候,都是會正常工作的。但是就怕,有些時候,會出現意外。比如說,緩存在內存中的數據,可能莫名其妙就丟失掉了。Executor進程掛掉了。或者說,存儲在磁盤文件中的數據,莫名其妙就沒了,文件被誤刪了。企業雖然沒碰到過,但是有可能。

  • 出現上述情況的時候,接下來,如果要對這個RDD執行某些操作,可能會發現RDD的某個partition找不到了。對消失的partition重新計算,計算完以后再緩存和使用。有些時候,計算某個RDD,可能是極其耗時的。可能RDD之前有大量的父RDD。那么如果你要重新計算一個partition,可能要重新計算之前所有的父RDD對應的partition。

  • 這種情況下,就可以選擇對這個RDD進行checkpoint,以防萬一。進行checkpoint,就是說,會將RDD的數據,持久化一份到容錯的文件系統上(比如hdfs)。在對這個RDD進行計算的時候,如果發現它的緩存數據不見了。優先就是先找一下有沒有checkpoint數據(到hdfs上面去找)。如果有的話,就使用checkpoint數據了。不至于說是去重新計算。

  • checkpoint,其實就是可以作為是cache的一個備胎。如果cache失效了,checkpoint就可以上來使用了。checkpoint有利有弊,利在于,提高了spark作業的可靠性,一旦發生問題,還是很可靠的,不用重新計算大量的rdd;但是弊在于,進行checkpoint操作的時候,也就是將rdd數據寫入hdfs中的時候,還是會消耗性能的。

  • checkpoint,用性能換可靠性。先做了緩沖后做了checkpoint,比如到HDFS那就是會從緩存存到HDFS上面進行checkpoint操作!后面我們再對這個RDD進行使用,然后其實它有個組件叫CacheManager,然后CacheManager會到BlockManager上面去找數據,如果有就通過CacheManager拿到數據,如果沒有就會從checkpoint的地方去拿數據

checkpoint原理:

  1. 在代碼中,用SparkContext,設置一個checkpoint目錄,可以是一個容錯文件系統的目錄,比如hdfs;

  2. 在代碼中,對需要進行checkpoint的rdd,執行RDD.checkpoint();

  3. RDDCheckpointData(spark內部的API),接管你的RDD,會標記為marked for checkpoint,準備進行checkpoint

  4. 你的job運行完之后,會調用一個finalRDD.doCheckpoint()方法,會順著rdd lineage,回溯掃描,發現有標記為待checkpoint的rdd,就會進行二次標記,inProgressCheckpoint,正在接受checkpoint操作

  5. job執行完之后,就會啟動一個內部的新job,去將標記為inProgressCheckpoint的rdd的數據,都寫入hdfs文件中。(備注,如果rdd之前cache過,會直接從緩存中獲取數據,寫入hdfs中;如果沒有cache過,那么就會重新計算一遍這個rdd,再checkpoint)

  6. 將checkpoint過的rdd之前的依賴rdd,改成一個CheckpointRDD*,強制改變你的rdd的lineage。后面如果rdd的cache數據獲取失敗,直接會通過它的上游CheckpointRDD,去容錯的文件系統,比如hdfs中,獲取checkpoint的數據。

說一下checkpoint的使用

  1. SparkContext,設置checkpoint目錄

  2. 對RDD執行checkpoint操作

上述內容就是如何理解troubleshooting 錯誤的持久化方式以及checkpoint的使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灵寿县| 乌拉特中旗| 慈利县| 神池县| 延吉市| 营口市| 梁河县| 南宁市| 阿拉善盟| 乌鲁木齐市| 射洪县| 伊金霍洛旗| 青河县| 涟水县| 凭祥市| 开原市| 郑州市| 吉首市| 南郑县| 富民县| 白玉县| 沙河市| 台安县| 漠河县| 北安市| 山东| 韩城市| 通海县| 镇平县| 广汉市| 顺昌县| 南汇区| 曲阳县| 白玉县| 赣榆县| 灵武市| 灌阳县| 永和县| 大姚县| 双辽市| 栖霞市|