You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Databricks Runtime14.3中如何使用sparkContext设置检查点目录?

解决Databricks Runtime 14.3 LTS里SparkContext用不了的问题

为啥会报错

Databricks Runtime 14.3 LTS默认开启了Spark Connect,而Spark Connect的客户端会话不支持依赖JVM的sparkContext属性——这就是你碰到报错的根本原因。哪怕手动创建Session,只要没关掉Spark Connect,还是会走客户端模式,拿不到原生的SparkContext。

解决办法

办法1:集群层面关闭Spark Connect

  • 进入Databricks集群配置页面,找到「Spark配置」选项
  • 添加以下配置:
    spark.databricks.session.useSparkConnect false
    
  • 重启集群,之后默认的spark会话就是原生SparkSession,直接执行spark.sparkContext.setCheckpointDir("/FileStore/checkpoint")即可生效

办法2:笔记本里临时切换到原生Session

如果不想重启集群,可在笔记本开头执行以下代码,强制使用原生SparkSession(仅对当前笔记本生效):

import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder()
  .appName("NativeSession")
  .getOrCreate()
// 现在可正常使用sparkContext
spark.sparkContext.setCheckpointDir("/FileStore/checkpoint")

注:无需指定master参数,会自动继承集群的配置。

办法3:不用SparkContext也能设置检查点

要是只是想配置检查点目录,直接通过SparkSession的配置项设置即可,无需调用sparkContext:

spark.conf.set("spark.sql.streaming.checkpointLocation", "/FileStore/checkpoint")

该配置会作用于后续的流处理作业,和直接设置sparkContext检查点目录的效果一致。

内容的提问来源于stack exchange,提问作者Tarique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 21:52:15