@Federico Trifoglio :
If sc.getCheckpointDir() returns None, it means that no checkpoint directory is set in the SparkContext. In this case, the checkpointInterval argument will indeed be ignored. To set a checkpoint directory, you can use the SparkContext.setCheckpointDir() method, as you have already done. Note that the checkpoint directory must be an HDFS path if running on a cluster. However, Databricks DBFS is a HDFS-compatible file system, so you should be able to use a DBFS path as well.
Regarding your question about checking whether the estimator is checkpointing at fitting time, you can use the explainParams() method to display the current parameter settings of the estimator, including the checkpointInterval value. For example:
from pyspark.ml.classification import RandomForestClassifier
rf = RandomForestClassifier(checkpointInterval=10)
print(rf.explainParams())
This will output a list of all the parameter values of the RandomForestClassifier, including the checkpointInterval. If the value is set to a positive integer, such as 10 in this example, it means that checkpointing is enabled and will occur every 10 iterations. You can also check the sparkContext.getCheckpointDir() to see if the checkpoint directory has been properly set.