我正在尝试在 databricks 上部署 Streamlit 应用程序。 为此,我使用命令:!streamlit run myApp.py
每次我尝试执行 getOrCreate 时,都会从 databricks 收到错误,指出我无法创建新会话,应该使用 SparkContext 的 getOrCreate 方法并使用共享上下文,这又会再次返回相同的消息。
我想知道是否可以将 SparkSession 从 notebook 传递到我的 Streamlit myApp.py 文件,或者成功创建会话。
我的代码与下面的代码非常相似。
myApp.py
from pyspark import SparkContext
from pyspark.sql import SparkSession
# Initialize SparkContext
sc = SparkContext(master="local", appName="MyApp")
# Create SparkSession from SparkContext
spark = SparkSession.builder.config(conf=sc.getConf()).getOrCreate()
#Tried the below syntaxes as well
#Spark=SparkSession.getActiveSession() ## Returns null
#other ways to create spark session and spark context
# Stop the SparkContext when done to release resources
sc.stop()
我能够通过利用 databricks-connect API 解决这个问题。