在 Databricks 笔记本中使用以 Python 编写的自定义函数
Use custom functions written in Python within a Databricks notebook
我创建了一个 python 文件 (.py),其中包含两个不同的函数。
例如,
def function1():
print("Hello World")
def funtion2(a, b):
y=a+b
if y>=5:
print("Correct")
else:
print("Wrong")
现在,我想在 Databricks Notebook 中使用这两个函数。我所做的是按照 databricks post 中所写的步骤进行操作。尽管我成功地创建了一个 egg 文件,该文件后来作为库导入到数据块中,但我没有设法从 egg 文件导入我的自定义函数。请查看以下屏幕截图:
setup.py
Databricks 上的 egg 文件
当我尝试 python 命令时:
import function2
我收到一条错误消息,提示找不到该模块。感谢您的帮助和评论。
注:init.py文件未使用
我在网上搜索了一下后找到了以下解决方案:
-
- 创建图书馆笔记本。
For example - Lib
with any functions/classes there (no runnable code).
-
- 要将
Main
中的所有 类 和从 Lib
到 Main
的函数导入到 Main
,请使用此命令:
%run "./Lib"
(这将像这样工作:from Lib import *)
-
- 之后,您可以调用
Main
笔记本中 Lib
中使用的任何函数/使用 类。
这是online post的信息。
我创建了一个 python 文件 (.py),其中包含两个不同的函数。
例如,
def function1():
print("Hello World")
def funtion2(a, b):
y=a+b
if y>=5:
print("Correct")
else:
print("Wrong")
现在,我想在 Databricks Notebook 中使用这两个函数。我所做的是按照 databricks post 中所写的步骤进行操作。尽管我成功地创建了一个 egg 文件,该文件后来作为库导入到数据块中,但我没有设法从 egg 文件导入我的自定义函数。请查看以下屏幕截图:
setup.py
Databricks 上的 egg 文件
当我尝试 python 命令时:
import function2
我收到一条错误消息,提示找不到该模块。感谢您的帮助和评论。
注:init.py文件未使用
我在网上搜索了一下后找到了以下解决方案:
-
- 创建图书馆笔记本。
For example -
Lib
with any functions/classes there (no runnable code). -
- 要将
Main
中的所有 类 和从Lib
到Main
的函数导入到Main
,请使用此命令:
(这将像这样工作:from Lib import *)%run "./Lib"
- 要将
-
- 之后,您可以调用
Main
笔记本中Lib
中使用的任何函数/使用 类。
- 之后,您可以调用
这是online post的信息。