PySpark:从另一个笔记本导入变量时,如何抑制PySpark单元格中的%run输出?

时间:2020-03-02 10:14:36

标签: python import pyspark jupyter-notebook databricks

我正在PySpark中使用多个笔记本,并使用%run path在这些笔记本中导入变量。每次我运行该命令时,我在原始笔记本中显示的所有变量都会再次显示在当前笔记本中(我在其中运行的笔记本)。但是我不希望它们显示在当前笔记本中。我只希望能够使用导入的变量。如何抑制每次显示输出?注意,我不确定是否重要,但是我正在使用DataBricks。谢谢!

命令示例:

%run /Users/myemail/Nodebook

1 个答案:

答案 0 :(得分:1)

这是预期的行为,当您使用%run 命令允许您在笔记本中包含另一个笔记本时。通过此命令,您可以将代表关键ETL步骤,Spark分析步骤或即席浏览的各种笔记本串联起来。但是,它缺乏构建更复杂的数据管道的能力。

enter image description here

笔记本工作流是对%run 的补充,因为它们使您可以从笔记本中返回值。这使您可以轻松地构建具有依赖关系的复杂工作流和管道。您可以适当地对运行进行参数化(例如,,获取目录中的文件列表,并将名称传递给另一个笔记本-使用%run 不可能实现),并创建基于返回值的if / then / else工作流程。笔记本工作流程允许您通过相对路径调用其他笔记本。

您可以使用dbutils.notebook方法实现笔记本工作流程。与所有dbutils API一样,这些方法仅在Scala和Python中可用。但是,您可以使用dbutils.notebook.run调用R笔记本。

有关更多详细信息,请参阅“ Databricks - Notebook workflows”。

相关问题