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

溫馨提示×

溫馨提示×

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

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

Spark CheckPoint徹底解密(41)

發布時間:2020-06-18 20:36:39 來源:網絡 閱讀:2611 作者:lct19910210 欄目:大數據


一、Checkpoint到底是什么?

1, Spark在生產環境下經常會面臨TranformationsRDD非常多(例如一個Job中包含1萬個RDD)或者具體Tranformation產生的RDD本身計算特別復雜和耗時(例如計算時常超過1個小時),此時我們必須考慮對計算結果數據的持久化;

2, Spark是擅長多步驟迭代,同時擅長基于Job的復用,這個時候如果能夠對曾經計算的過程產生的數據進行復用,就可以極大的提升效率;

3, 如果采用persist把數據放在內存中的話,雖然是最快速的但是也是最不可靠的;如果放在磁盤上也不是完全可靠的!例如磁盤會損壞。

4, Checkpoint的產生就是為了相對而言更加可靠的持久化數據,在Checkpoint可以指定把數據放在本地并且是多副本的方式,但是在正常的生產環境下是放在HDFS,這就天然的借助了HDFS高容錯的高可靠的特征來完成了最大化的可靠的持久化數據的方式;

5, Checkpoint是為了最大程度保證絕度可靠的復用RDD計算數據的Spark的高級功能,通過Checkpoint我們通過把數據持久化的HDFS來保證數據最大程度的安全性;

6, Checkpoint就是針對整個RDD計算鏈條中特別需要數據持久化的環節(后面會反復使用當前環節的RDD)開始基于HDFS等的數據持久化復用策略,通過對RDD啟動checkpoint機制來實現容錯和高可用;

 

二、Checkpoint原理機制

1, 通過調用SparkContext.setCheckpointDir方法來指定進行Checkpoint操作的RDD把數據放在哪里,在生產集群中是放在HDFS上的,同時為了提高效率在進行checkpoint的使用可以指定很多目錄

2, 在進行RDDcheckpoint的時候其所依賴的所有的RDD都會從計算鏈條中清空掉;

3, 作為最佳實踐,一般在進行checkpoint方法調用前通過都要進行persist來把當前RDD的數據持久化到內存或者磁盤上,這是因為checkpointLazy級別,必須有Job的執行且在Job執行完成后才會從后往前回溯哪個RDD進行了Checkpoint標記,然后對該標記了要進行CheckpointRDD新啟動一個Job執行具體的Checkpoint的過程;

4, Checkpoint改變了RDDLineage

5, 當我們調用了checkpoint方法要對RDD進行Checkpoint操作的話,此時框架會自動生成RDDCheckpointData,當RDD上運行過一個Job后就會立即觸發RDDCheckpointData中的checkpoint方法,在其內部會調用doCheckpoint,實際上在生產環境下會調用ReliableRDDCheckpointDatadoCheckpoint,在生產環境下會導致ReliableCheckpointRDDwriteRDDToCheckpointDirectory的調用,而在writeRDDToCheckpointDirectory方法內部會觸發runJob來執行把當前的RDD中的數據寫到Checkpoint的目錄中,同時會產生ReliableCheckpointRDD實例;








 

 

 

 

 

 


向AI問一下細節

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

AI

乌恰县| 顺昌县| 英山县| 云霄县| 乐亭县| 阿拉善盟| 庆城县| 延边| 盐边县| 临海市| 交城县| 峨山| 博客| 大英县| 集安市| 信宜市| 正定县| 郎溪县| 湛江市| 黄陵县| 房产| 大埔区| 菏泽市| 广安市| 司法| 西丰县| 五寨县| 博客| 芮城县| 融水| 盐池县| 台中市| 忻城县| 云浮市| 龙井市| 太仓市| 焉耆| 定边县| 玛曲县| 德惠市| 弥渡县|