Python 使用SparkConf创建SparkSession对象时出现问题
我是Spark的新手,需要一些关于以下问题的指导- 每当我尝试使用SparkConf对象创建SparkSession对象时,都会出现以下错误- AttributeError:“SparkConf”对象没有属性“\u get\u object\u id” 我正在本地模式下使用Spark 2.3和Python 3.7Python 使用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()
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()实例的括号确实缺失。但添加它们并不能修复错误。