0

我已将 Azure Databricks 集群从运行时 5.5LTS 更新到 7.3LTS。现在我在 VSCode 中调试时遇到错误。我已经像这样更新了我的 Anaconda 连接:

> conda create --name dbconnect python=3.7
> conda activate dbconnect
> pip uninstall pyspark
> pip install -U databricks-connect==7.3.*
> databricks-connect configure
> databricks-connect test

到目前为止一切顺利,但现在我正在尝试调试以下内容

from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()
setting = spark.conf.get("spark.master")

if "local" in setting:
    from pyspark.dbutils import DBUtils
    dbutils = DBUtils(spark.sparkContext)

在 上dbutils = DBUtils(spark.sparkContext),它会引发异常

发生异常:AttributeError 'SparkContext' 对象没有属性 'conf'

我已经尝试创建conf

from pyspark.dbutils import DBUtils
import pyspark
conf = pyspark.SparkConf()
pyspark.SparkContext.getOrCreate(conf=conf)
dbutils = DBUtils(spark.sparkContext)

但我仍然得到同样的错误。有人可以告诉我我做错了什么吗?

4

1 回答 1

3

从文档Access DBUtils中,您需要传递 SparkSessionspark而不是 SparkContext :

from pyspark.sql import SparkSession
from pyspark.dbutils import DBUtils

spark = SparkSession.builder.getOrCreate()

dbutils = DBUtils(spark)
于 2021-03-18T10:59:22.580 回答