Python 使用SparkConf创建SparkSession对象时出现问题

Python 使用SparkConf创建SparkSession对象时出现问题,python,apache-spark,pyspark,pyspark-sql,Python,Apache Spark,Pyspark,Pyspark Sql,我是Spark的新手,需要一些关于以下问题的指导- 每当我尝试使用SparkConf对象创建SparkSession对象时,都会出现以下错误- AttributeError:“SparkConf”对象没有属性“\u get\u object\u id” 我正在本地模式下使用Spark 2.3和Python 3.7 sconf=SparkConf.setAppName("test") ss=SparkSession.builder.config(conf=sconf).getOrCreate()

我是Spark的新手,需要一些关于以下问题的指导- 每当我尝试使用SparkConf对象创建SparkSession对象时,都会出现以下错误-

AttributeError:“SparkConf”对象没有属性“\u get\u object\u id”

我正在本地模式下使用Spark 2.3和Python 3.7

sconf=SparkConf.setAppName("test")
ss=SparkSession.builder.config(conf=sconf).getOrCreate()
我已经阅读了互联网上提供的一些解决方案,但没有一个解决了我的问题

即使我试图直接创建SparkSession对象(即没有显式SparkConf对象),我也会遇到同样的错误-

ss=SparkSession.builder.master("local").getOrCreate()

AttributeError: 'SparkConf' object has no attribute '_get_object_id'

您可能缺少括号
sconf=SparkConf().setAppName(“测试”)
如果它不起作用,我尝试了以下在本地有效的方法

from pyspark.sql import SparkSession
from pyspark import SparkConf
sconf=SparkConf().setAppName("test")
ss=SparkSession.builder.config(conf=sconf).getOrCreate()

您可以这样定义配置-

from pyspark.conf import SparkConf
from pyspark.sql import SparkSession

conf = spark.sparkContext._conf.setAll([('spark.app.name', 'Spark Test')])

spark = SparkSession.builder.config(conf=conf).getOrCreate()    

不要创建新的SparkConf()对象:它将是一个python对象,显然与Spark的非python部分不兼容(它没有必需的_get_object_id()方法,如错误消息所示)

生成器中的config()方法是累积的,因此您应该执行以下操作:

ss = SparkSession \
    .builder \
    .appName("test") \
    .config("some.parameter", "some.value") \
    .config("some.other.parameter", "some.other.value") \ 
       etc...
    .getOrCreate()

pyspark的哪个版本?版本是2.3,我使用了下面的版本,它对我有效-conf=SparkConf()。setAll([((“spark.app.master”,“local”),((“spark.appName”,“Test”))SparkConf()实例的括号确实缺失。但添加它们并不能修复错误。