您可以在导入到数据块笔记本中的自定义 python 包中引用 spark 实例吗?

问题描述 投票:0回答:0

我想在导入到数据块笔记本中的 python 包中创建自定义连接器类。像这样的东西:

class snowflake_read():
    
    def __init__(self, format, options):
        self.options = options
        self.format = format


    def sf_query(self, query):
        df = spark.read.format(self.format).options(self.options).options("query", query).load()
        return df

虽然我能够将包导入笔记本并初始化 snowflake_read() 类,但我无法使用 sf_query() 函数,因为 spark 未定义。

import read_package

sf_read = snowflake_read(<format>, <options>)
sf_read.sf_query('<query>')

这段代码产生一个未定义的变量('spark')错误。

如何在 init 函数中定义 spark? Spark 在 datbricks notebook 中自动定义/初始化,但显然不在导入类的范围内。

python apache-spark snowflake-cloud-data-platform databricks
© www.soinside.com 2019 - 2024. All rights reserved.