我有一个带有高度自定义的SparkConf()的SparkContext sc
。如何使用该SparkContext创建一个SparkSession?我发现了这篇文章:https://stackoverflow.com/a/53633430/201657,展示了如何使用Scala做到这一点:
val spark = SparkSession.builder.config(sc.getConf).getOrCreate()
但是当我尝试使用PySpark应用相同的技术时:
from pyspark.sql import SparkSession
spark = SparkSession.builder.config(sc.getConf()).enableHiveSupport().getOrCreate()
失败并显示错误
AttributeError:'SparkConf'对象没有属性'_get_object_id'
正如我所说,我想在SparkSession中使用与SparkContext中相同的SparkConf
。我该怎么办?
更新
我已经做了些摆弄:
from pyspark.sql import SparkSession
spark = SparkSession.builder.enableHiveSupport().getOrCreate()
sc.getConf().getAll() == spark.sparkContext.getConf().getAll()
返回
是
因此SparkContext和SparkSession的SparkConf都相同。我的假设是SparkSession.builder.getOrCreate()
将使用现有的SparkContext(如果存在)。我说得对吗?