【问题标题】:DataBricks cannot show data from Data Lake gen 2DataBricks 无法显示来自 Data Lake gen 2 的数据
【发布时间】:2021-08-18 11:26:33
【问题描述】:

我们正在从 blob 存储迁移到 ADLS Gen 2,并且我们想要测试从 DataBricks 对 Data Lake 的访问。我创建了一个服务主体,它具有 Blob 存储读取器和 Blob 存储贡献者对 Data Lake 的访问权限。

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

 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 个字节的小文本文件 但是当我试图显示它的内容时,单元格被卡在运行命令中并且没有任何反应。

您认为问题是什么?以及如何解决?

提前致谢

【问题讨论】:

  • 我遇到了同样的问题,就我而言,这是因为我创建了一个私有端点来将 ADLS Gen 2 连接到数据工厂。我自己发现了没有解释为什么会发生这种情况的文档。但还会检查您的 Databricks 集群是否设置为 ADLS Gen 2 防火墙。
  • create a container这个步骤你有没有做?
  • @Kafels 问题是正在从数据湖中读取值,但未显示它们。访问不是问题
  • 我不这么认为,你的舞台工作已冻结 0/1
  • 等待您的命令抛出异常并更新您的问题。它可能会在停止之前运行 20 分钟。

标签: azure apache-spark azure-databricks azure-data-lake-gen2


【解决方案1】:

问题是私有子网和公共子网被错误地删除,然后使用不同的 IP 范围重新创建。它们需要与管理子网在同一范围内,否则为存储帐户设置的专用终结点将不起作用。

【讨论】:

    猜你喜欢
    • 2019-09-23
    • 2020-11-22
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-06
    • 2020-01-24
    相关资源
    最近更新 更多