你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
通过 Azure PowerShell cmdlet 和 REST API 自动执行库管理过程
你可能希望在不进入 Synapse Analytics UI 页面的情况下管理无服务器 Apache Spark 池的库。 例如,你可能发现:
- 你开发了一个自定义包,现在想要将它上传到工作区并在 Spark 池中使用它。 另外,你希望在不访问包管理 UI 的情况下通过本地工具完成这些步骤。
- 通过 CI/CD 流程更新包
本文提供一般性的指南以帮助你通过 Azure PowerShell cmdlet 或 REST API 管理库。
通过 Azure PowerShell cmdlet 管理包
添加新库
New-AzSynapseWorkspacePackage 命令可用于将新库上传到工作区。
New-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace -Package ".\ContosoPackage.whl"
New-AzSynapseWorkspacePackage 和 Update-AzSynapseSparkPool 命令的组合可用于将新库上传到工作区,以及将库附加到 Spark 池。
$package = New-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace -Package ".\ContosoPackage.whl" Update-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -PackageAction Add -Package $package
如果你要将现有工作区库附加到 Spark 池,请参阅 Get-AzSynapseWorkspacePackage 和 Update-AzSynapseSparkPool 的命令组合。
$packages = Get-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace Update-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -PackageAction Add -Package $packages
删除库
若要从 Spark 池中删除已安装的包,请参阅 Get-AzSynapseWorkspacePackage 和 Update-AzSynapseSparkPool 的命令组合。
$package = Get-AzSynapseWorkspacePackage -WorkspaceName ContosoWorkspace -Name ContosoPackage Update-AzSynapseSparkPool -WorkspaceName ContosoWorkspace -Name ContosoSparkPool -PackageAction Remove -Package $package
还可以通过调用 Get-AzSynapseSparkPool 和 Update-AzSynapseSparkPool 命令检索 Spark 池,以及从池中删除所有附加的工作区库。
$pool = Get-AzSynapseSparkPool -ResourceGroupName ContosoResourceGroup -WorkspaceName ContosoWorkspace -Name ContosoSparkPool $pool | Update-AzSynapseSparkPool -PackageAction Remove -Package $pool.WorkspacePackages
有关更多 Azure PowerShell cmdlet 功能,请参阅适用于 Azure Synapse Analytics 的 Azure PowerShell cmdlet。
通过 REST API 管理包
管理工作区包
借助 REST API 的功能,可以添加/删除包,或列出工作区的所有已上传文件。 请参阅工作区库 API 概述查看所有受支持的 API。
管理 Spark 池包
可以利用 Spark 池 REST API 将自定义或开源库附加到 Spark 池,或从池中删除它们。
对于自定义库,请将自定义文件列表指定为请求正文中的 customLibraries 属性。
"customLibraries": [ { "name": "samplejartestfile.jar", "path": "<workspace-name>/libraries/<jar-name>.jar", "containerName": "prep", "uploadedTimestamp": "1970-01-01T00:00:00Z", "type": "jar" } ]
还可以通过在请求正文中指定 libraryRequirements 属性来更新 Spark 池库。
"libraryRequirements": { "content": "", "filename": "requirements.txt" }
后续步骤
- 查看默认库:Apache Spark 版本支持
- 通过 Synapse Studio 门户管理 Spark 池级别的包:通过 Notebook 会话进行 Python 包管理