Azure databricks 集群无权访问已安装的 adls2

Azure databricks cluster don't have acces to mounted adls2

我按照文档 azure-datalake-gen2-sp-access 并在数据块中安装了 ADLS2 存储,但是当我尝试从 GUI 查看数据时,出现下一个错误:

集群 easy-matches-cluster-001 没有查看内容的正确凭据。请select另一个集群。

我没有找到任何文档,只有关于高级数据块的内容,所以我只能使用高级数据块资源访问?

Edit1:我可以用 dbutils 看到挂载的存储。

安装存储帐户后,请执行运行此命令检查您是否对创建的安装点具有数据访问权限。

dbutils.fs.ls("/mnt/<mount-point>")
  • 如果您有数据访问权限 - 您将看到存储中的文件 帐号。
  • 万一您没有数据访问权限-您将收到此错误-“此请求未被授权使用此权限执行此操作”,403。

如果您能够装载存储但无法访问,请检查 ADLS2 帐户是否分配了必要的角色。

我能够复制相同的内容。由于您使用的是 Azure Active Directory 应用程序,因此您还必须将“Storage Blob Data Contributor”角色分配给 Azure Active Directory 应用程序。

以下是在已注册应用程序上授予 blob 数据贡献者角色的步骤

1. Select 您的 ADLS 帐户。导航到访问控制 (IAM)。 Select 添加角色分配.

2. Select 角色 Storage Blob Data Contributor,搜索并 select 您注册的 Azure Active Directory 应用程序并分配。

返回访问控制 (IAM) 选项卡,search 为您的 AAD 应用检查访问权限。

3. 运行 dbutils.fs.ls("/mnt/<mount-point>") 确认访问。

解决了卸载、安装和重新启动集群的问题。我遵循了这个文档:https://docs.microsoft.com/en-us/azure/databricks/kb/dbfs/remount-storage-after-rotate-access-key