如何使用 Azure Synapse Analytics 将自定义 Python 库导入到 Apache Spark 池中?

Posted

技术标签:

【中文标题】如何使用 Azure Synapse Analytics 将自定义 Python 库导入到 Apache Spark 池中?【英文标题】:How do you import a custom python library onto an apache spark pool with Azure Synapse Analytics? 【发布时间】:2021-05-12 11:37:51 【问题描述】:

根据 Microsoft 的文档,可以上传 python 轮文件,以便您可以在 Synapse Analytics 中使用自定义库。 这是该文档:https://docs.microsoft.com/en-us/azure/synapse-analytics/spark/apache-spark-azure-portal-add-libraries

我创建了一个简单的库,其中只有一个 hello world 函数,我可以使用 pip 在我自己的计算机上安装它。所以我知道我的***文件有效。

我将我的 Wheel 文件上传到 Microsoft 文档中要求上传文件的位置。

我还发现了一个人在做我想做的事的 youtube 视频。 这是视频:https://www.youtube.com/watch?v=t4-2i1sPD4U

Microsoft 的文档提到这一点,“可以在会话之间添加或修改自定义包。但是,您需要等待池和会话重新启动才能看到更新的包。”

据我所知,没有办法重新启动池,我也不知道如何判断池是否已关闭或已重新启动。

当我尝试在笔记本中使用该库时,我收到一个未找到模块的错误。

【问题讨论】:

【参考方案1】:

扩容或缩容将强制集群重启。

【讨论】:

【参考方案2】:

按照 HimanshuSinha-msft 的建议,更改火花池的规模设置会重新启动火花池。不过那不是我的问题。

实际的问题是我需要存储文件的数据湖存储中的 Storage Blob Data Contributor 角色。我假设因为我已经拥有所有者权限并且因为我可以创建一个文件夹并在那里上传我拥有所有权限我需要。一旦我获得了存储 Blob 数据贡献者角色,尽管一切正常。

【讨论】:

以上是关于如何使用 Azure Synapse Analytics 将自定义 Python 库导入到 Apache Spark 池中?的主要内容,如果未能解决你的问题,请参考以下文章

Azure Synapse 管道:如何将增量更新从 SQL Server 移动到 Synapse 以处理数字

如何首先将 EF Core 代码与 azure synapse 一起使用

如何使用 Azure Synapse Analytics 将自定义 Python 库导入到 Apache Spark 池中?

如何在 Databricks 上将 Azure Synapse Dataframe 转换为 JSON?

如何在 Azure Synapse Analytics 中使用 IS_MEMBER('AAD_GROUPNAME')?

如何在 Azure Synapse 或数据工厂管道中设置和获取变量值