Azure Synapse - 在笔记本中导入 python 脚本

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

我将 Azure Synapse 与 jupyter 笔记本结合使用:

我的许多 jupyter 笔记本都导入一些自定义 python 脚本,例如 util-import:

但是,Azure Synapse 中没有保留 *.py 文件的选项。当我使用导入功能时,*.py 总是会转换为笔记本(在笔记本电脑上它是 util.py,在 Synapse 导入后它是一个笔记本):

如何在 Azure Synapse Notebook 中使用自定义 *.py 文件,而不将其从 *.py 转换为笔记本?

azure azure-devops azure-pipelines azure-synapse
2个回答
1
投票

将 python 添加到 Synapse 有多种选项。您可以在 workspacepoolsession 级别管理它们。我最成功的方法是从 PyPi 加载到 Spark 池,但您也可以将 Wheel 或 JAR 文件上传到工作区并在笔记本中引用这些文件。使用 PyPi 的一个警告是,如果包依赖于 C 库包,Synapse 不会将其加载到池中。


0
投票

我发现工作区导入通常需要完整的包,这似乎不是这个问题所要求的。

您可以分别使用 .R 和 .py 文件有效地导入 R 或 python 中的单个文件,方法是从关联的 abfss 中读取文件,然后使用可以将字符串作为代码计算的相应 python 或 R 函数对其进行计算。

在 R 或 python 中你可以运行

file_string = mssparkutils.fs.head("abfss://<container_name>@<storage_account>.dfs.core.windows.net/Path/to/file.<R or py>")

这将创建一个包含文件全部内容的字符串变量。然后,在Python中,你可以运行

exec(file_string)

或者在 R 中你会运行

eval(parse(text = file_string))
© www.soinside.com 2019 - 2024. All rights reserved.