spark如何配置checkpoint

1、sparkSession配置checkpoint的方法

# step1: 在conf中添加checkpoint的保存地址
val spark = SparkSession.builder.appName(JobRegister.getJobName("xxx", s"xxxx")).config("hive.exec.dynamic.partition", "true").config("hive.exec.dynamic.partition.mode", "nonstrict").config("spark.sql.broadcastTimeout", 3000).config("spark.sql.sources.partitionOverwriteMode", "dynamic").config("spark.checkpoint.dir", "/user/vc/projects_prod/checkpoint/data") # 配置路徑.enableHiveSupport().getOrCreate()# step2: 保險期間,在引用spark時,再設置下:
spark.sparkContext.setCheckpointDir("/user/vc/projects_prod/checkpoint/data")# step3: 在代碼中添加checkpoint函數
val risk_msg = spark.sql(s"select * from temp.dwd_im_basic_info ").cache().checkpoint()

2、checkpoint()跟cache()的原理

  1. checkpoint() 方法和 cache() 方法都是 Spark中的緩存機制,用于提高計算效率的操作,都可以在迭代計算或長時間計算中使用,以減少計算時間和提高數據可靠性,但是它們的實現方式不同。
  2. cache() 是將數據緩存在內存中,優勢在于速度快,但缺點在于內存有限,數據可能會被清除;
  3. 而 checkpoint()則是將數據寫入磁盤中,優勢在于數據可靠性高,但缺點在于速度慢,需要寫入磁盤。
  4. cache() 是一個轉換操作,不會立即執行計算,只有在行動操作需要使用數據時才會觸發計算。
  5. checkpoint()會觸發一次完整的計算,并將結果寫入到磁盤中,因此它是一個行動操作
  6. 但是,checkpoint() 方法需要將數據寫入磁盤或分布式文件系統中,這會導致額外的 I/O操作,影響性能。因此,為了避免頻繁地進行 I/O 操作,通常將 checkpoint() 方法和 cache() 方法結合使用。
  7. 具體來說,可以先使用 cache() 方法將數據緩存到內存中,然后再使用 checkpoint()方法將數據寫入磁盤或分布式文件系統中。這樣可以避免頻繁地進行 I/O 操作,同時又能保證數據的可靠性和可恢復性。
  8. 需要注意的是,使用 checkpoint()會將數據寫入磁盤或分布式文件系統中,這會占用一定的存儲空間。因此,需要根據實際情況來決定何時使用 checkpoint()方法,以避免浪費存儲資源。

3、checkpoint()和cache()結合時,誰前誰后呢?

在 PyTorch 中,checkpoint() 和 cache() 都是模型優化中經常使用的函數,但它們的使用方式和作用不同。

checkpoint() 函數是一種優化方法,可以將模型的一部分計算推遲到后面執行,從而減少顯存的占用,提高模型的訓練速度。
而 cache() 函數是一種緩存方法,可以將模型的某些計算結果緩存下來,以便下次使用時可以直接調用,避免重復計算,提高模型的訓練速度。

這兩個函數的使用順序取決于具體的場景。
如果你希望先緩存模型的某些計算結果,再對模型進行優化,那么就應該先使用 cache() 函數,再使用 checkpoint() 函數。
如果你希望先對模型進行優化保存,再將優化后的結果緩存下來,那么就應該先使用 checkpoint() 函數,再使用 cache() 函數。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161790.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161790.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161790.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2023亞太杯數學建模競賽(亞太賽)選題建議+初步分析

如下為C君的2023亞太杯數學建模競賽&#xff08;亞太賽&#xff09;選題建議初步分析&#xff1a; 提示&#xff1a;DS C君認為的難度&#xff1a;C<A<B&#xff0c;開放度&#xff1a;A<B<C。 以下為ABC題選題建議及初步分析&#xff1a; A題&#xff1a;Image…

openssl+ SM2 + linux 簽名校驗開發實例(C++)

文章目錄 一、SM2校驗理論基礎二、SM2簽名校驗開發實例&#xff08;C&#xff09; 一、SM2校驗理論基礎 SM2的校驗過程是使用橢圓曲線上的公鑰驗證簽名的有效性。以下是SM2校驗的理論基礎相關知識點&#xff1a; SM2簽名算法&#xff1a; SM2的校驗基于橢圓曲線數字簽名算法&a…

Vue批量全局處理undefined和null轉為““ 空字符串

我們在處理后臺返回的信息&#xff0c;有的時候返回的是undefined或者null&#xff0c;這種字符串容易引起用戶的誤解&#xff0c;所以需要我們把這些字符串處理一下。 如果每個頁面都單獨處理&#xff0c;那么頁面會很冗余&#xff0c;并且后期如果有修改容易遺漏&#xff0c…

SQL面試題挑戰:找出使用相同ip的用戶

問題&#xff1a;現在有一張用戶登陸日志表&#xff0c;該表包括user_id,ip,log_time三個字段&#xff0c;現在需要找出共同使用ip數量超過3個(含)的所有用戶對。比如下面的示例數據&#xff0c;101和102用戶共同使用的ip為4個&#xff0c;101和103用戶共同使用的ip為3個&#…

二十二、數組(4)

本章概要 隨機生成泛型和基本數組 隨機生成 我們可以按照 Count.java 的結構創建一個生成隨機值的工具&#xff1a; Rand.java import java.util.*; import java.util.function.*;import static com.example.test.ConvertTo.primitive;public interface Rand {int MOD 10_0…

5-1 Java 網絡編程

第1關&#xff1a;URL類與InetAddress類 任務描述 本關任務&#xff1a;了解網絡編程基礎知識。 相關知識 為了完成本關任務&#xff0c;你需要掌握&#xff1a;1.URL&#xff1b;2.InetAddress。 URL 統一資源定位符&#xff08;Uniform Resource Locator&#xff0c;縮…

C++單調向量算法:得到山形數組的最少刪除次數

本題的其它解法 C二分算法&#xff1a;得到山形數組的最少刪除次數 題目 我們定義 arr 是 山形數組 當且僅當它滿足&#xff1a; arr.length > 3 存在某個下標 i &#xff08;從 0 開始&#xff09; 滿足 0 < i < arr.length - 1 且&#xff1a; arr[0] < arr[1…

DevOps 事后分析

眾所周知&#xff0c;系統的變化會帶來不穩定&#xff0c;進而引發事故。遷移到 DevOps 使世界各地的組織能夠以更小的增量和更高的頻率進行發布。這降低了特定版本中失敗的風險。另一方面&#xff0c;增加發布數量并不一定會減少待命團隊需要響應的事件數量。 事件響應團隊的…

2023.11.22 homework

七年級數學 五年級數學 也不知道可以教到幾年級&#xff0c;估計很快就教不動了。人生啊。

讀像火箭科學家一樣思考筆記06_初學者之心

1. 專業化是目前流行的趨勢 1.1. 通才&#xff08;generalist&#xff09;是指博而不精之人 1.2. 懂得的手藝越多&#xff0c;反而會家徒四壁 1.2.1. 希臘諺語 1.3. 這種態度代價很大&#xff0c;它阻斷了不同學科思想的交融 2. 組合游戲 2.1. 某個行業的變革可能始于另一…

Pycharm的程序調試

有如下代碼需要進行調試&#xff1a; i 1 while i < 10:print(i)步驟一&#xff1a;設置斷點 步驟二&#xff1a;進入調試視圖 方式1&#xff1a;右鍵單擊編輯區&#xff1a;點擊’Debug模塊名’ ? 方式2&#xff1a;ShiftF9 ? 方式3&#xff1a;單機工具欄上的調試按鈕…

Django報錯:RuntimeError at /home/ 解決辦法

錯誤提示&#xff1a; RuntimeError at /home/ Model class django.contrib.contenttypes.models.ContentType doesnt declare an explicit app_label and isnt in an application in INSTALLED_APPS. 原因剖析&#xff1a; 博主在使用pycharm創建Django項目的時候&#xff0…

vector的簡單模擬實現_C++

目錄 一、vector的數據結構 二、vector的構造 三、vector的增刪查改及空間管理 四、全部代碼 一、vector的數據結構 vector以線性連續空間為基礎來定義數據結構以及擴展功能。vector的兩個迭代器&#xff0c;分別是start和finish&#xff0c;分別指向配置得來的已被使用的空…

網絡滲透測試(wireshark 抓取QQ圖片)

1.打開wireshark 這里我用的wifi連接 所以點開wifi就好 打開wifi之后就開始在本機上進行抓包了 我們先給我們的QQ發送一張圖片&#xff0c;用自己的手機發送給電腦 然后點擊左上角的正方形&#xff0c;停止捕獲抓包 QQ的關鍵詞是oicq&#xff0c;所以我們直接找 打開oicq …

十二、h.264解碼

前言 測試環境&#xff1a; ffmpeg的4.3.2自行編譯版本windows環境qt5.12 完整代碼&#xff1a; H264DncodeThread.h #ifndef H264DNCODETHREAD_H #define H264DNCODETHREAD_H#include <QObject> #include <QThread>extern "C" { #include <libavu…

【論文閱讀筆記】Emu Edit: Precise Image Editing via Recognition and Generation Tasks

【論文閱讀筆記】Emu Edit: Precise Image Editing via Recognition and Generation Tasks 論文閱讀筆記論文信息摘要背景方法結果額外 關鍵發現作者動機相關工作1. 使用輸入和編輯圖像的對齊和詳細描述來執行特定的編輯2. 另一類圖像編輯模型采用輸入掩碼作為附加輸入 。3. 為…

鴻蒙4.0開發筆記之ArkTs語言基礎與基本組件結構(四)

文章聲明&#xff1a;本文關于HarmonyOS系統的部分內容和描述借鑒于華為官網的“HarmonyOS開發者學堂”&#xff0c;有需要的也可以進入官網查看。<HarmonyOS第一課>ArkTS開發語言介紹 一、ArkTs語言介紹 ArkTS是鴻蒙系統&#xff08;HarmonyOS&#xff09;優選的主力應…

設計模式-創建型模式-工廠方法模式

一、什么是工廠方法模式 工廠模式又稱工廠方法模式&#xff0c;是一種創建型設計模式&#xff0c;其在父類中提供一個創建對象的方法&#xff0c; 允許子類決定實例化對象的類型。工廠方法模式是目標是定義一個創建產品對象的工廠接口&#xff0c;將實際創建工作推遲到子類中。…

解讀可解釋性機器學習:理解解釋性基準模型(EBM)

解讀可解釋性機器學習&#xff1a;理解解釋性基準模型&#xff08;EBM&#xff09; 近年來&#xff0c;隨著機器學習模型的復雜性不斷增加&#xff0c;研究人員和從業者對模型的可解釋性提出了更高的要求。可解釋性機器學習&#xff08;Explainable Machine Learning, XAI&…

SHAP - 機器學習模型可解釋性工具

github地址&#xff1a;shap/docs/index.rst at master shap/shap (github.com) SHAP使用文檔&#xff1a;歡迎使用 SHAP 文檔 — SHAP 最新文檔 SHAP介紹 SHAP&#xff08;SHapley Additive exPlanations&#xff09;是一種用于解釋預測結果的方法&#xff0c;它基于Shapley…