Teilen über


Behandeln häufig auftretender Freigabeprobleme in Delta Sharing

In den folgenden Abschnitten werden häufig auftretende Fehler beschrieben, die bei dem Versuch, auf Daten in einer Freigabe zuzugreifen, auftreten können.

Fehler „Ressourcengrenze überschritten“

Problem: Ihre Abfrage für eine freigegebene Tabelle gibt den Fehler RESOURCE_LIMIT_EXCEEDED zurück.

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

Mögliche Ursachen: Die Anzahl von Dateien in Metadaten, die für eine freigegebene Tabelle zulässig sind, ist begrenzt.

Empfohlene Lösung: Informationen zum Beheben eines dieser Probleme finden Sie unter RESOURCE_LIMIT_EXCEEDED Fehler beim Abfragen einer Delta-Freigabetabelle in der Databricks Knowledge Base.

Problem mit bereinigten Datendateien

Problem: Es wird eine Fehlermeldung angezeigt, die eine Ausnahme „404 Der angegebene [Pfad|Schlüssel] ist nicht vorhanden“ auslöst.

Spark-Fehlerbeispiele:

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

oder

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>

Mögliche Ursache: Normalerweise wird dieser Fehler angezeigt, da die Datendatei, die der vorsignierten URL entspricht, in der freigegebenen Tabelle bereinigt wird und die Datendatei zu einer historischen Tabellenversion gehört.

Problemumgehung: Fragen Sie die neueste Momentaufnahme ab.

Schemakonfliktfehler bei Open Source Spark

Problem: Bei Verwendung von Open Source Spark (OSS) wird beim Lesen von Delta-Freigabetabellen ein Schemakonfliktfehler angezeigt.

Fehlerbeispiel:

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

Mögliche Ursache: Die Schema- oder Partitionsspalten der Delta-Tabelle wurden nach dem Erstellen des DataFrame geändert.

Empfohlene Lösung: Festlegen des Spark-Konfigurationsflags spark.delta.sharing.client.useStructuralSchemaMatch auf true:

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

Problem mit der Konfiguration des Speichernetzwerks

Problem: Es wird eine Fehlermeldung angezeigt, die einen SSLCertVerificationErrorauslöst.

Spark-Fehlerbeispiel:

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

Mögliche Ursache: Normalerweise wird dieser Fehler angezeigt, da es eine Netzwerkeinschränkung für den Speicherort der freigegebenen Tabelle oder des Volumes gibt.

Empfohlener Fix: Erlauben Sie auf der Schnittstelle des Speicheranbieters den Zugriff auf den Speicherort, indem Sie die Client-IP in den Firewalleinstellungen des Speicherkontos zulassen.

Problem beim Zugriff auf freigegebene Materialisierungsobjekte

Problem: Ihre Abfrage einer freigegebenen Ansicht, einer materialisierten Ansicht oder einer Streamingtabelle gibt folgenden Fehler zurück: 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."

Mögliche Ursachen: Der Anbieter hat keinen Lese-/Schreibzugriff auf die Ressource, die sie freigeben möchten.

Empfohlene Lösung: Wenden Sie sich an Ihren Datenanbieter, um sicherzustellen, dass sie Lese-/Schreibzugriff auf die freigegebene Datenressource haben.

Netzwerkzugriffsfehler während der Datenmaterialisierung

Problem: Ihre Abfrage für eine freigegebene Datenressource gibt einen Fehler über den Zugriff auf den Cloudspeicher des Datenanbieters zurück.

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.

Mögliche Ursachen: Der Speicherort für die materialisierten Daten weist Netzwerkeinschränkungen (z. B. eine Firewall oder private Verknüpfung) auf, die verhindern, dass Azure Databricks serverlos auf sie zugreift. Beim Freigeben von Ansichten, materialisierten Ansichten oder Streamingtabellen werden die Daten vorübergehend auf der Seite des Anbieters materialisiert. Der Speicherort der Materialisierung ist das übergeordnete Schema oder der Speicherort des Katalogs.

Empfohlene Lösung: Der Datenanbieter muss serverlose Compute-IPs ihrer entsprechenden Region zulassen, um auf den Speicherort der abhängigen Tabellen der Ansicht zuzugreifen. Informationen zum Konfigurieren Ihrer Firewall finden Sie unter Konfigurieren einer Firewall für serverlosen Computezugriff.