使用 adf 中的复制活动 (polybase) 将 ADLS gen2 中的 parquet 文件复制到 Azure synapse 表时出现错误
我的来源是 ADLS gen2 中的镶木地板文件。所有 parquet 文件都是大小为 10-14 MB 的零件文件。总大小应约为 80 GB
接收器是 Azuresynapse 表。
复制方法是Polybase。执行后 5 秒内出现以下错误,如下所示:
ErrorCode=PolybaseOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=将数据加载到 SQL 数据仓库时发生错误。操作:'创建外部表'。,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Data.SqlClient.SqlException,Message=由于内部错误,外部文件访问失败:'访问 HDFS 时发生错误:引发 Java 异常调用 HdfsBridge_IsDirExist。 Java异常信息: HdfsBridge::isDirExist - 检查目录是否存在时遇到意外错误:AbfsRestOperationException:操作失败:“此请求无权执行此操作。”,403,HEAD,URL',Source = .Net SqlClient Data提供程序,SqlErrorNumber = 105019,Class = 16,ErrorCode = -2146232060,State = 1,Errors = [{Class = 16,Number = 105019,State = 1,Message =由于内部错误,外部文件访问失败:'发生错误访问 HDFS:调用 HdfsBridge_IsDirExist 时引发 Java 异常。 Java异常信息: HdfsBridge::isDirExist - 检查目录是否存在时遇到意外错误:AbfsRestOperationException:操作失败:“此请求无权执行此操作。”,403,HEAD,
My source is parquet files in ADLS gen2. All the parquet files are part files of size 10-14 MB. The total size should be around 80 GB
Sink is Azuresynapse table.
Copy method is Polybase. Getting below error within 5 sec of execution like below:
ErrorCode=PolybaseOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Error happened when loading data into SQL Data Warehouse. Operation: 'Create external table'.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Data.SqlClient.SqlException,Message=External file access failed due to internal error: 'Error occurred while accessing HDFS: Java exception raised on call to HdfsBridge_IsDirExist. Java exception message:
HdfsBridge::isDirExist - Unexpected error encountered checking whether directory exists or not: AbfsRestOperationException: Operation failed: "This request is not authorized to perform this operation.", 403, HEAD, URL',Source=.Net SqlClient Data Provider,SqlErrorNumber=105019,Class=16,ErrorCode=-2146232060,State=1,Errors=[{Class=16,Number=105019,State=1,Message=External file access failed due to internal error: 'Error occurred while accessing HDFS: Java exception raised on call to HdfsBridge_IsDirExist. Java exception message:
HdfsBridge::isDirExist - Unexpected error encountered checking whether directory exists or not: AbfsRestOperationException: Operation failed: "This request is not authorized to perform this operation.", 403, HEAD,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于身份验证失败,我已经看到了此错误,请检查授权标题和/或签名是否错误。
例如,使用ADLS Gen2存储帐户访问密钥创建范围凭据:
创建外部数据源如下:
您可以指定WASB而不是ABF,如果您使用的是SSL,则将其指定为ABFSS。然后创建外部表如下:
您可以在我的书“用polybase的动手数据虚拟化”一书中找到其他信息。
I've seen this error due to failed authentication, check whether the authorization header and/or signature is wrong.
For example, create the scope credential using your ADLS Gen2 storage account access key:
The external data source is created as follows:
You can specify wasb instead of abfs, and if you're using SSL, specify it as abfss. Then the external table is created as follows:
You can find additional information in my book "Hands-On Data Virtualization with Polybase".