У меня есть SparkContext sc
с сильно настроенным SparkConf ().Как мне использовать этот 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'
AsЯ говорю, что хочу использовать тот же SparkConf
в моем SparkSession, который используется в SparkContext.Как мне это сделать?
ОБНОВЛЕНИЕ
Я немного позабавился:
from pyspark.sql import SparkSession
spark = SparkSession.builder.enableHiveSupport().getOrCreate()
sc.getConf().getAll() == spark.sparkContext.getConf().getAll()
возвращает
True
, поэтому SparkConf как SparkContext, так и SparkSession одинаковы.Я предполагаю, что SparkSession.builder.getOrCreate()
будет использовать существующий SparkContext, если он существует.Я прав?