如何在PySpark中从SparkContext创建SparkSession?

时间:2019-06-14 11:36:12

标签: pyspark

我有一个带有高度自定义的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'

enter image description here

正如我所说,我想在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(如果存在)。我说得对吗?

0 个答案:

没有答案