Udostępnij przez


Rozwiązywanie typowych problemów z udostępnianiem poprzez funkcję Delta Sharing

W poniższych sekcjach opisano typowe błędy, które mogą wystąpić podczas próby uzyskania dostępu do danych w udziale.

Przekroczono limit zasobów

Problem: Zapytanie w tabeli udostępnionej zwraca błąd 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"

Możliwe przyczyny: istnieją limity liczby plików w metadanych dozwolonych dla udostępnionej tabeli.

Zalecana poprawka: aby dowiedzieć się, jak rozwiązać jeden z tych problemów, zobacz błąd RESOURCE_LIMIT_EXCEEDED podczas wykonywania zapytań dotyczących tabeli udostępniania różnicowego w bazie wiedzy usługi Databricks.

Problem z plikiem danych opróżnionych

Problem: Zostanie wyświetlony komunikat o błędzie, który zgłasza wyjątek "404 Określony [path|key] nie istnieje".

Przykładowe błędy platformy Spark:

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

lub

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>

Możliwa przyczyna: zazwyczaj ten błąd występuje, ponieważ plik danych odpowiadający wstępnie podpisanemu adresowi URL jest opróżniany w tabeli udostępnionej, a plik danych należy do wersji tabeli historycznej.

Obejście: Wykonaj zapytanie dotyczące najnowszej migawki.

Błąd niezgodności schematu w Open Source Spark

Problem: W przypadku korzystania z Open Source Spark (OSS) podczas odczytywania tabel Delta Sharing występuje błąd niezgodności schematu.

Przykład błędu:

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

Możliwa przyczyna: kolumny schematu lub partycji tabeli delty uległy zmianie po utworzeniu ramki danych.

Zalecana poprawka: ustaw flagę konfiguracji platformy spark.delta.sharing.client.useStructuralSchemaMatch Spark na :true

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

Problem z konfiguracją sieci magazynu

Problem: Zostanie wyświetlony komunikat o błędzie, który zgłasza błąd SSLCertVerificationError.

Przykład błędu platformy Spark:

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

Możliwa przyczyna: zazwyczaj ten błąd występuje, ponieważ występuje ograniczenie sieci dotyczące lokalizacji magazynu udostępnionej tabeli lub woluminu.

Zalecana poprawka: w interfejsie dostawcy magazynu zezwól na dostęp do lokalizacji magazynu, zezwalając na adres IP klienta w ustawieniach zapory konta magazynu.

Problem z dostępem do współużytkowanego zasobu materializacji

Problem: Zapytanie dotyczące widoku udostępnionego, widoku materializowanego lub tabeli przesyłania strumieniowego zwraca błąd 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."

Możliwe przyczyny: dostawca nie ma dostępu do odczytu i zapisu do zasobu, który próbuje udostępnić.

Zalecana poprawka: skontaktuj się z dostawcą danych, aby upewnić się, że mają dostęp do odczytu i zapisu do udostępnionego zasobu danych.

Błąd dostępu do sieci podczas materializacji danych

Problem: Zapytanie dotyczące udostępnionego zasobu danych zwraca błąd dotyczący uzyskiwania dostępu do magazynu w chmurze dostawcy danych.

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.

Możliwe przyczyny: lokalizacja magazynu zmaterializowanych danych ma ograniczenia sieci (takie jak zapora lub łącze prywatne), które uniemożliwiają usłudze Azure Databricks dostęp do zasobów obliczeniowych bezserwerowych. Podczas udostępniania widoków, zmaterializowanych widoków lub tabel przesyłania strumieniowego dane są tymczasowo zmaterializowane po stronie dostawcy. Lokalizacja magazynu materializacji to nadrzędny schemat zasobu lub lokalizacja magazynu katalogu.

Zalecana poprawka: dostawca danych musi zezwolić na wyświetlanie bezserwerowych adresów IP obliczeniowych odpowiedniego regionu w celu uzyskania dostępu do lokalizacji przechowywania tabel zależnych widoku. Aby skonfigurować zaporę, zobacz Konfigurowanie zapory na potrzeby dostępu obliczeniowego bezserwerowego.