azure-data-lake - 从 Azure Databricks 中的 ADLS Gen2 加载文件时出现间歇性 HTTP 错误

标签 azure-data-lake azure-databricks

我遇到间歇性 HTTP当我尝试加载 Azure Databricks 中的文件内容时出错来自 ADLS Gen2 .存储帐户已使用与 Databricks 关联的服务主体装载,并已被赋予 Storage Blob Data Contributor通过数据湖存储帐户上的 RBAC 进行访问。要加载的示例语句是

df = spark.read.format("orc").load("dbfs:/mnt/{storageaccount}/{filesystem}/{filename}")

我得到的错误信息是:
Py4JJavaError : 调用 o214.load 时发生错误。 :java.io.IOException:GET https://{storageaccount}.dfs.core.windows.net/{filesystem}/{filename}?timeout=90 StatusCode=412 StatusDescription=不满足使用 HTTP 条件 header 指定的条件。
ErrorCode=ConditionNotMet ErrorMessage=不满足使用 HTTP 条件 header 指定的条件。
请求 ID:51fbfff7-d01f-002b-49aa-4c89d5000000
时间:2019-08-06T22:55:14.5585584Z

此错误与文件系统中的所有文件无关。我可以加载大部分文件。错误仅与某些文件有关。不确定这里是什么问题。任何帮助将不胜感激。

最佳答案

现在已经解决了这个问题。根本问题是由于 Microsoft 端的更改。这是我从 Microsoft 支持获得的 RCA:

在最新的存储租户升级期间,存在错误打开的存储配置。这种类型的错误只会出现在最新升级的租户上启用了命名空间的帐户。此问题的缓解措施是关闭特定租户上的配置,我们已经为所有租户启动了超音速配置部署。此后,我们为 ADLS Gen 2 添加了额外的存储升级验证,以帮助涵盖此类场景。

关于azure-data-lake - 从 Azure Databricks 中的 ADLS Gen2 加载文件时出现间歇性 HTTP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57385603/

相关文章:

json - Azure 数据工厂 - forEach - JSON 到数组错误

linux - 是否可以将 Azure datalake 作为驱动器安装在 Linux 服务器上?

azure - databricks cli 用于更新作业计划

c# - 如何从 Azure 数据工厂在 Databricks 上运行 .Net spark 作业?

sql-server - 如何在增量表的 table_changes 函数中使用最新版本?

使用 SSIS 脚本组件读取 Azure Data Lake Store 文件

azure - 使用 C# 扩展 USQL : which are parallelised?

apache-spark - 使用mapPartitions时,binaryFiles什么时候加载到内存中?

azure - 从 Azure Databricks 写入 Azure Blob 存储时重复 Blob 创建的事件

Azure Databricks 通过服务主体访问 Azure Data Lake Storage Gen2