【问题标题】:Calling notebook function [closed]调用笔记本功能[关闭]
【发布时间】:2022-01-23 03:06:19
【问题描述】:

有人可以帮帮我吗?我有一个实用笔记本,其中包括 scala 中的常用功能,如字符串验证、日期/时间验证、DOB 验证等。我将在所有其他笔记本中使用其中的一些。如何在我的另一个笔记本中调用我的实用笔记本中的函数?任何人都可以对此有所了解吗?我在笔记本的开头看到了运行命令。但是,它运行整个基本实用笔记本并且不希望这样,因为我将只使用实用笔记本中的几个功能。 提前致谢!

【问题讨论】:

    标签: scala jupyter-notebook databricks azure-databricks


    【解决方案1】:

    这取决于您如何运行该笔记本。通常,使用%run(所谓的notebook workflows)包含此类实用笔记本。结果,笔记本的全部内容都被评估并包含在当前上下文中。但是这个操作只是定义函数,而不是执行它们。要执行它们,只需按名称调用。例如,如果您有一个名为 ScalaLib 的笔记本:

    def func1(a: Int): String = {
      a.toString
    }
    

    然后您可以将其包含到另一个笔记本中并使用:

    // This should be a separate cell
    %run ScalaLib
    
    // this should be in another cell
    // use defined function
    func1(42)
    

    您还可以在专用对象中定义函数,但在 Databricks 笔记本中,函数被隐式包装到对象中。

    【讨论】:

    • 亚历克斯,非常感谢!这有帮助。能否请您提供信息。在下面? 1. 我的基础笔记本中有输入参数,并且我在其他 50 个子笔记本中使用基础笔记本。每个子笔记本都可以在运行时覆盖我的基本笔记本中的一些参数。那么,我可以在运行命令后在我的子笔记本中覆盖可以覆盖的参数吗?我不想在运行命令中将参数传递给我的运行笔记本,因为有很多参数。 2.你能分享一下专用对象的示例代码链接以及隐式包装的对象是如何使用的吗?再次感谢!
    猜你喜欢
    • 1970-01-01
    • 2011-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-02
    • 2017-03-03
    • 1970-01-01
    • 2022-01-24
    相关资源
    最近更新 更多