PySpark 3.1.0以下版本如何获取Checkpoint目录?
在PySpark 2.4.3等旧版本中获取Checkpoint目录路径的方法
在PySpark中,我们通常用以下代码设置Checkpoint目录:
spark.sparkContext.setCheckpointDir('/checkpoints')
但SparkContext.getCheckpointDir()方法是在PySpark 3.1.0版本才引入的,对于2.4.3这类旧版本,有两种可行的获取方式:
自行维护路径变量(推荐)
在设置Checkpoint目录时,将路径存入一个变量,后续需要使用时直接调用该变量即可,这种方式不依赖Spark内部实现,稳定性最高:checkpoint_dir = '/checkpoints' spark.sparkContext.setCheckpointDir(checkpoint_dir) # 后续获取路径直接使用checkpoint_dir访问SparkContext内部私有属性
旧版本PySpark的SparkContext实例中,Checkpoint目录被存储在_checkpointDir私有属性中,可以直接访问获取:checkpoint_dir = spark.sparkContext._checkpointDir注意:访问私有属性依赖Spark的内部实现,不同小版本可能存在变动,仅作为应急方案使用。
内容的提问来源于stack exchange,提问作者Chong Onn Keat
相关产品推荐
相关产品推荐

