Pular para o conteúdo principal

Solucionar problemas comuns de compartilhamento no Delta Sharing

As seções a seguir descrevem erros comuns que podem ocorrer quando você tenta acessar dados em um compartilhamento.

erros de limite de recurso excedido

Problema : sua consulta em uma tabela compartilhada retorna o erro RESOURCE_LIMIT_EXCEEDED.

Você pode ver um desses erros:

  • "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"

Causas possíveis : há limites no número de arquivos nos metadados permitidos para uma tabela compartilhada.

Correção recomendada : Para saber como resolver um desses problemas, consulte Erro de recurso ao consultar uma tabela Delta Sharing na Base de dados de conhecimento Databricks.

Problema com o nome do bucket do AWS S3

Problema : Você vê uma mensagem de erro que gera um arquivo não encontrado ou uma exceção de certificado.

Spark exemplo de erro:

FileReadException: Error while reading file delta-sharing:/%252Ftmp%252Fexample.share%2523example.tpc_ds.example/XXXXXXXXXXXXX/XXXXXXXX.

Caused by: SSLPeerUnverifiedException: Certificate for - <[workspace name].cloud.databricks.com.s3.us-east-1.amazonaws.com> doesn't match any of the subject alternative names [s3.amazonaws.com, *.s3.amazonaws.com…]:

Exemplo de erro do Pandas:

FileNotFoundError(path)
FileNotFoundError: https://xxxx.xxxxxx.s3.xx-xxxx-1.amazonaws.com/xxxxxx/part-00000-xxxxx-Amz-Algorithm=Axxxxxx-Amz-Date=xxxxxxxx&X-Amz-SignedHeaders=host&X-Amz-Expires=xxx&X-Amz-Credential=xxxxxxx_request&X-Amz-Signature=xxxxx

Exemplo de erro do Power BI:

DataSource.Error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
Details:
https://xxxx.xxxxxxxxx.s3.xx-xxxx-1.amazonaws.com/xxxxxxxx/part-00000-xxxxxxx.snappy.parquet

Causa possível : normalmente você vê esse erro porque o nome do seu bucket usa notação de ponto ou ponto (por exemplo, incorrect.bucket.name.notation). Essa é uma limitação do AWS. Consulte as regras de nomenclatura de buckets do AWS.

Você pode receber esse erro mesmo se o nome do seu bucket estiver formatado corretamente. Por exemplo, o senhor pode encontrar um erro SSL (SSLCertVerificationError) ao executar o código no PyCharm.

Correção recomendada : Se o nome do seu bucket usar uma notação de nomenclatura de bucket do AWS inválida, use um bucket diferente para o Unity Catalog e o Delta Sharing.

Se o seu bucket usar convenções de nomenclatura válidas e o senhor ainda se deparar com um FileNotFoundError no Python, ative o registro de depuração para ajudar a isolar o problema:

Python
import logging
logging.basicConfig(level=logging.DEBUG)

vacuum problema no arquivo de dados

Problema : O senhor vê uma mensagem de erro que lança uma exceção "404 O [caminho|key] especificado não existe".

Exemplos de erros do Spark:

java.lang.Throwable: HTTP request failed with status: HTTP/1.1 404 The specified path does not exist.

ou

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>

Possible cause : Normalmente, o senhor vê esse erro porque o arquivo de dados correspondente ao URL pré-assinado é vacuum na tabela compartilhada e o arquivo de dados pertence a uma versão histórica da tabela.

Solução alternativa : Consultar o Snapshot mais recente.