樹在pyspark估計。毫升叫做checkpointInterval吵架
checkpointInterval
=參數(父母=‘定義’,name = ' checkpointInterval ', doc = '設置檢查點間隔(> = 1)或禁用檢查點(1)。例如10意味著緩存將檢查點每10迭代。注意:此設置將被忽略,如果目錄沒有設置檢查站SparkContext。”)
當我運行sc.getCheckpointDir()我得到我假設沒有一個醫生所設置將被忽略。這是一個錯誤的假設嗎?
我試圖設置一個sc.setCheckpointDir (“dbfs: /道路/ /檢查站”)。擬合估計我檢查後如果有任何文件dbutils.fs.ls (sc.getCheckpointDir()),什麼都沒有。
pyspark.SparkContext的醫生。setCheckpointDir說“目錄必須是一個HDFS路徑如果在一個集群上運行。”But am I right that a DBFS paths should work too?
有辦法檢查估計確實是檢查點在合適的時間嗎?
@Federico Trifoglio:
如果sc.getCheckpointDir()返回None,這意味著沒有SparkContext檢查點設置目錄。在這種情況下,checkpointInterval論點確實會被忽略。設置檢查點的目錄,您可以使用SparkContext.setCheckpointDir()方法,當你已經完成了。注意,檢查點目錄必須是一個HDFS路徑如果在一個集群上運行。然而,磚DBFS HDFS-compatible文件係統,因此您應該能夠使用DBFS路徑。
關於你的問題關於檢查估計是否檢查點在合適的時間,您可以使用explainParams()方法來顯示當前估計的參數設置,包括checkpointInterval價值。例如:
從pyspark.ml。分類導入RandomForestClassifier射頻= RandomForestClassifier (checkpointInterval = 10)打印(rf.explainParams ())
這將輸出所有RandomForestClassifier的參數值的列表,包括checkpointInterval。如果該值設置為一個正整數,如10在這個例子中,這意味著啟用檢查點,將出現每10迭代。您還可以檢查sparkContext.getCheckpointDir()是否已經正確設置檢查點目錄。