提问者:小点点

DataBricks 无法显示来自 Data Lake Gen 2 的数据


我们正在从 blob 存储迁移到 ADLS Gen 2,我们希望测试从 DataBricks 对 Data Lake 的访问。我创建了一个服务主体,该服务主体对数据湖具有 Blob 存储读取器和 Blob 存储参与者访问权限。

我的笔记本设置了以下火花配置:

 spark.conf.set("fs.azure.account.auth.type","OAuth")
 spark.conf.set("fs.azure.account.oauth.provider.type","org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider")
 spark.conf.set("fs.azure.account.oauth2.client.id","<clientId")
 spark.conf.set("fs.azure.account.oauth2.client.secret","<secret>")
 spark.conf.set("fs.azure.account.oauth2.client.endpoint","https://login.microsoftonline.com/<endpoint>/oauth2/token")
//I replaced the values in my notebook with correct values from my service principal

当我运行下面的代码时,目录的内容被正确地显示出来:

dbutils.fs.ls("abfss://ado-raw@<storage account name>.dfs.core.windows.net")

我可以从我的数据湖中读取一个小文本文件,该文件只有 3 个字节,但是当我尝试显示其内容时,单元格卡在运行命令时,没有任何反应。

你认为问题是什么?我该如何解决?

先谢谢你


共1个答案

匿名用户

问题是私有和公共子网被错误删除,然后使用不同的IP范围重新创建。它们需要位于与管理子网相同的范围内,否则为存储帐户设置的专用endpoint将无法工作。