Partager via


Résoudre les problèmes de partage courants dans Delta Sharing

Les sections suivantes décrivent les erreurs courantes qui peuvent se produire lorsque vous essayez d’accéder aux données dans un partage.

Erreurs de dépassement de la limite de ressources

Problème : votre requête sur une table partagée retourne l’erreur 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"

Causes possibles : il existe des limites sur le nombre de fichiers dans les métadonnées autorisées pour une table partagée.

Correctif recommandé : Pour savoir comment résoudre l’un de ces problèmes, consultez RESOURCE_LIMIT_EXCEEDED erreur lors de l’interrogation d’une table de partage Delta dans la Base de connaissances Databricks.

Problème de fichier de données vide

Problème : vous voyez un message d’erreur qui lève une « exception 404 Le [chemin d’accès|clé] spécifié n’existe » pas.

Exemples d’erreurs 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>

Cause possible : en règle générale, vous voyez cette erreur, car le fichier de données correspondant à l’URL pré-signée est vide dans la table partagée et le fichier de données appartient à une version de table historique.

Solution de contournement : interrogez la dernière capture instantanée.

Erreur d’incompatibilité de schéma avec Spark Open Source

Problème : lorsque vous utilisez Open Source Spark (OSS), vous voyez une erreur d’incompatibilité de schéma lors de la lecture des tables de partage Delta.

Exemple d’erreur :

py4j.protocol.Py4JJavaError: An error occurred while calling o85.count.: org.apache.spark.SparkException: The schema or partition columns of your Delta table has changed since your DataFrame was created. Please redefine your DataFrame

Cause possible : le schéma ou les colonnes de partition de la table Delta ont changé après la création du DataFrame.

Correctif recommandé : Définissez l’indicateur spark.delta.sharing.client.useStructuralSchemaMatch de configuration Spark sur true:

spark.conf.set("spark.delta.sharing.client.useStructuralSchemaMatch", "true")

Problème de configuration du réseau de stockage

Problème : vous voyez un message d’erreur qui lève un SSLCertVerificationError.

Exemple d’erreurs Spark :

ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)

Cause possible : En règle générale, vous voyez cette erreur, car il existe une restriction réseau sur l’emplacement de stockage de la table ou du volume partagé.

Correctif recommandé : dans l’interface du fournisseur de stockage, autorisez l’accès à l’emplacement de stockage en autorisant l’adresse IP du client dans les paramètres de pare-feu du compte de stockage.

Problème d’accès aux ressources de matérialisation partagée

Problème : votre requête sur une vue partagée, une vue matérialisée ou une table de diffusion en continu renvoie l’erreur DS_MATERIALIZATION_QUERY_FAILED.

"DS_MATERIALIZATION_QUERY_FAILED": "The shared asset could not be materialized due to the asset not being accessible in the materialization workspace. Please ask data provider to contact :re[DB] support to override the materialization workspace."

Causes possibles : le fournisseur n’a pas d’accès en lecture-écriture à la ressource qu’il tente de partager.

Correctif recommandé : contactez votre fournisseur de données pour vous assurer qu’il dispose d’un accès en lecture-écriture à la ressource de données partagée.

Erreur d’accès réseau lors de la matérialisation des données

Problème : votre requête sur une ressource de données partagée retourne une erreur sur l’accès au stockage cloud du fournisseur de données.

There was an issue accessing the data provider's cloud storage. Shared view materialization uses the Serverless compute of data provider's region to perform the materialization. Please contact the data provider to allowlist Serverless compute IPs of their corresponding region to access the view's dependent tables storage location.

Causes possibles : l’emplacement de stockage des données matérialisées a des restrictions réseau (par exemple, un pare-feu ou une liaison privée) qui empêchent le calcul serverless Azure Databricks de l’accéder. Lors du partage de vues, de vues matérialisées ou de tables de streaming, les données sont temporairement matérialisées du côté du fournisseur. L'emplacement de stockage pour la matérialisation est le schéma parent ou l'emplacement de stockage lié au catalogue de l’actif.

Correctif recommandé : le fournisseur de données doit inscrire sur la liste d'autorisation les adresses IP de calcul sans serveur de sa région correspondante pour accéder à l’emplacement de stockage des tables dépendantes de la vue. Pour configurer votre pare-feu, consultez Configurer un pare-feu pour accéder au calcul sans serveur.