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

mgdq6dx1  于 2023-02-15  发布在  Spark
关注(0)|答案(3)|浏览(130)

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

%run /Users/myemail/Nodebook
gkl3eglg

gkl3eglg1#

您可以使用单元格右上角切换中的“隐藏结果”选项:

nsc4cvqm

nsc4cvqm2#

正确答案在其中一个答案的注解中(“你不能”)。我遇到了这样的问题:当一个笔记本在另一个笔记本中显示为%run时,显示了标记标题(我用来将笔记本分为几个部分)。
我找到了一个变通方法,你可以让标题在你的笔记本上加载。而不是使用%md markdown你可以给予单元格一个标题使用下拉菜单在单元格的右上角,并选择“显示标题”,这将给你的单元格一个标题如下:

当您在另一个笔记本中使用%run导入笔记本时,此文本不会显示。

tjvv9vkg

tjvv9vkg3#

当您使用**%run**命令允许您在笔记本中包含另一个笔记本时,这是预期行为。此命令允许您连接表示关键ETL步骤、Spark分析步骤或即席探索的各种笔记本。但是,它缺乏构建更复杂数据管道的能力。

笔记本工作流是对**%run**的补充,因为笔记本工作流允许您从笔记本返回值。这使您可以轻松构建具有依赖关系的复杂工作流和管道。您可以正确地参数化运行(例如,获取目录中的文件列表并将文件名传递给另一个笔记本-这在%run*中是 * 不可能的),还可以基于返回值创建if/then/else工作流。笔记本工作流允许您通过相对路径调用其他笔记本。
您可以使用dbutils.notebook方法实现笔记本工作流。这些方法和所有dbutils API一样,只能在Scala和Python中使用。但是,您可以使用dbutils.notebook.run调用R notebook。
有关详细信息,请参阅“Databricks - Notebook workflows“。

相关问题