python 如何自动传递Spark和dbutils到.py文件在数据库?

k7fdbhmy  于 2022-12-17  发布在  Python
关注(0)|答案(1)|浏览(130)

我的主笔记本在数据库中,我正在运行我的基本代码集。现在,我必须总是通过我的函数传递“spark”和“dbutils”才能让函数正常工作。
主记录本代码:

from subfolder import awesome

awesome.somefunction(spark,dbutils,parameterC)

www.example.com文件中的代码awesome.py如下所示:(这位于一个名为“子文件夹”的文件夹中,该文件夹比主笔记本深一级,它还伴随着一个init python文件)

def somefunction(spark,dbutils,parameterC):
    # used spark in this function
    # used dbutils in this function
    # used parameterC in this function
    # create a spark view at the end
    # return None
    return None

如果我从函数中删除了spark和dbutils,我会发现没有找到“spark”或“dbutils”模块。
我怎样才能得到它,这样我就不必自动将spark和dbutils传递到我的.py文件中?

zlhcx6iw

zlhcx6iw1#

在Databricks上,sparkdbutils只会自动注入到主入口点-您的笔记本电脑中,但不会传播到Python模块中。使用spark解决方案很简单,只需使用SparkSession类的getActiveSession函数(如SparkSession.getActiveSession()),但是您需要继续显式传递dbutils,直到您不将dbutils抽象为某个函数,如本答案中所述。

相关问题