SparkSession 与上下文混淆
SparkSession and context confusion
我有一个 pyspark 2.0.0 脚本,其中定义了以下会话:
spark = SparkSession \
.builder \
.appName("Python Spark") \
.master("local[*]")\
.config("spark.some.config.option", "some-value") \
.getOrCreate()
我训练了一个随机森林模型,我想保存它。因此我调用了以下方法:
model_rf.save( spark, "/home/Desktop")
但它抛出以下编译错误:
TypeError: sc should be a SparkContext, got type <class 'pyspark.sql.session.SparkSession'>
当我定义一个 Spark 上下文时,像这样:
from pyspark import SparkContext
sc =SparkContext()
model_rf.save( sc, "/home/Desktop")
我收到错误:
Cannot run multiple SparkContexts at once; existing SparkContext(app=Python Spark, master=local[*]) created by getOrCreate at <ipython-input-1-c5f83810f880>:24
使用spark.sparkContext
(SparkSession
对象将有sparkContext
)
model_rf.save( spark.sparkContext, "/home/Desktop")
我有一个 pyspark 2.0.0 脚本,其中定义了以下会话:
spark = SparkSession \
.builder \
.appName("Python Spark") \
.master("local[*]")\
.config("spark.some.config.option", "some-value") \
.getOrCreate()
我训练了一个随机森林模型,我想保存它。因此我调用了以下方法:
model_rf.save( spark, "/home/Desktop")
但它抛出以下编译错误:
TypeError: sc should be a SparkContext, got type <class 'pyspark.sql.session.SparkSession'>
当我定义一个 Spark 上下文时,像这样:
from pyspark import SparkContext
sc =SparkContext()
model_rf.save( sc, "/home/Desktop")
我收到错误:
Cannot run multiple SparkContexts at once; existing SparkContext(app=Python Spark, master=local[*]) created by getOrCreate at <ipython-input-1-c5f83810f880>:24
使用spark.sparkContext
(SparkSession
对象将有sparkContext
)
model_rf.save( spark.sparkContext, "/home/Desktop")