azure - 在 databricks 笔记本中找不到导入库
问题描述
使用 Azure Devops 管道任务,我正在导入 azure.databricks.cicd.tools 库并安装 azure-identity 和 azure-keyvault-secrets。当我使用不记名令牌和集群 ID 将这些库添加到集群时,这些库可以很好地安装到集群中,但是当我运行笔记本时,它显示未找到导入模块。你能帮我看看我哪里出错了吗?
- task: AzurePowerShell@5
inputs:
azureSubscription: xxxxx
ScriptType: InlineScript
Inline: |
Install-Module -Name azure.databricks.cicd.tools -Force -Scope CurrentUser
azurePowerShellVersion: LatestVersion
- task: AzurePowerShell@5
inputs:
azureSubscription: xxxxx
ScriptType: InlineScript
Inline: |
Import-Module -Name azure.databricks.cicd.tools
Add-DatabricksLibrary -BearerToken $(az-bearer-token) -Region $(az-region) -LibraryType "pypi" -LibrarySettings 'azure-identity' -ClusterId 'xxxxxx'
Add-DatabricksLibrary -BearerToken $(az-bearer-token) -Region $(az-region) -LibraryType "pypi" -LibrarySettings 'azure.keyvault.secrets' -ClusterId 'xxxxx'
azurePowerShellVersion: LatestVersion
其次是 .....
- task: configuredatabricks@0
- task: DataThirstLtd.databricksDeployScriptsTasks.databricksDeployScriptsTask.databricksDeployScripts@0
- task: executenotebook@0
Databricks notebook:
from azure.identity import ClientSecretCredential
from azure.keyvault.secrets import SecretClient
credential = ClientSecretCredential(directory_id, sp_client_id, sp_client_secret, 'login.microsoftonline.com')
Error message:
ImportError: No module named azure.identity
解决方案
库的安装不是同步的-当您执行Add-DatabricksLibrary
命令时,它会调用Libraries REST APIinstall
的端点,并且文档说:
安装是异步的 - 它在请求后在后台完成。
您可以使用集群状态 REST API来检查所有库是否都有INSTALLED
状态,然后才触发笔记本。(我在库中没有看到类似的功能azure.databricks.cicd.tools
)
推荐阅读
- linux - 如何加快对大量文本文件 (1TB) 的搜索
- c - 在 C 中使用 printf_P 右对齐
- java - 如何在我的应用程序中启动 Android 应用程序?(提供示例)
- r - 在 R 中创建具有不均匀数据帧的二进制矩阵
- python - 如何将字符串中的箭头运算符(->)替换为点(。)运算符
- python - 如何在 python 中打开浏览器时使用代理
- tableau-api - 我们如何计算表格中两列之间的差异和百分比差异
- image - 如何将图像类转换为文件
- google-app-engine - Google 应用引擎上的 Django 无法提供媒体文件
- amazon-web-services - 无法在控制台或 cli 中创建 AWS Rekognition 项目