排查 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。