排查 Delta Sharing 中的常见共享问题
以下部分介绍了在尝试访问共享中的数据时可能发生的常见错误。
超出资源限制错误
问题:对共享表的查询返回错误 RESOURCE_LIMIT_EXCEEDED
。
你可能会看到以下任一错误:
"RESOURCE_LIMIT_EXCEEDED","message":"The table metadata size exceeded limits"
"RESOURCE_LIMIT_EXCEEDED","message":"The number of files in the table to return exceeded limits, consider contact your provider to optimize the table"
可能的原因:对于共享表,元数据中允许的文件数量存在限制。
建议的解决方法:若要了解如何解决其中任何一个问题,请参阅 Databricks 知识库中的查询 Delta Sharing 表时出现 RESOURCE_LIMIT_EXCEEDED 错误。
清空数据文件问题
问题:出现一条错误消息,指出引发了“404 指定的 [path|key] 不存在”异常。
Spark 错误示例:
java.lang.Throwable: HTTP request failed with status: HTTP/1.1 404 The specified path does not exist.
或
HTTP request failed with status: HTTP/1.1 404 Not Found <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>NoSuchKey</Code><Message>The specified key does not exist.</Message>
可能的原因:通常情况下,出现此错误是由于与预签名 URL 相对应的数据文件在共享表中清空,而该数据文件属于历史表版本。
解决方法:查询最新快照。
存储网络配置问题
问题:你会看到一条引发 SSLCertVerificationError
的错误消息。
Spark 错误示例:
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)
可能的原因:通常情况下,出现此错误是由于共享表或卷的存储位置存在网络限制。
建议的修复方法:在存储提供程序接口中允许访问该存储位置,方法是在存储帐户防火墙设置中允许客户端 IP。