首页 > 解决方案 > 可以向 Azure Data Lake(第 1 代)发送多少请求是否有限制?

问题描述

我在 Azure 数据工厂中有一个管道,可以将数据从 Google BigQuery(GBQ) 移动到 Azure Data Lake(第 1 代),然后在 Azure Databricks 中进行一些清理。

管道图像

第一个复制活动将数据从 GBQ 复制到 Data Lake,然后数据通过 Databricks,最后一个活动将数据复制到 Blob 容器。

在 4 个初始复制活动中,一个随机失败并出现以下错误

失败发生在“Sink”端。ErrorCode=UserErrorAdlsFileWriteFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=写入'AzureDataLakeStore'失败。路径:/.../.../PageTracking_06072021.csv。消息:远程服务器返回错误:(403) Forbidden.. Response details: {"RemoteException":{"exception":"AccessControlException","message":" [......] Access Denied : /. ./../PageTracking_06072021.csv[.....]","javaClassName":"org.apache.hadoop.security.AccessControlException"}},Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Net .WebException,Message=远程服务器返回错误:(403) Forbidden.,Source=System,'

当我再次运行管道时,失败的管道成功,其他管道失败并出现同样的错误。

到目前为止我所尝试的。

尝试删除文件并重新运行,但第一次一切都成功并且循环重复。尝试改变活动的顺序(就像你在图片中看到的那样)。我仍然随机收到相同的错误。

访问不是问题,因为所有活动都使用相同的 IR 和配置。

更新:

我已经为管道设置了一个触发器(每天一次)并且管道运行良好。仅当我尝试手动运行管道时才会出现问题。

标签: azureazure-data-factoryazure-databricksazure-data-lake

解决方案


检查链接服务中提供的凭据是否具有写入要写入文件的 Azure Data Lake Storage 文件夹所需的权限

必须从根文件夹授予访问权限。

在存储资源管理器中,设置服务主体的权限 - 至少授予从接收器文件系统开始的执行权限,以及接收器文件夹的写入权限。还可以尝试在访问控制 (IAM) 中至少授予Storage Blob Data Contributor角色。


推荐阅读