Häufige Fehler beim Erkunden

Auf dieser Seite wird beschrieben, wie Sie Probleme mit der Datenexplorations-Workbench in Dataplex beheben.

Datenbank nicht gefunden

Wenn Sie eine Spark-Abfrage über SQL Workbench oder ein Jupyter-Notebook ausführen, tritt der folgende Fehler auf:

Script failed in execution.
org.apache.spark.sql.catalyst.parser.ParseException:
No viable alternative at input `zone-name`(line 1, pos24)

Die Namen von Dataplex-Zonen werden Datenbankinhalten mit Hive-Kompatibilität zugeordnet, die mit Spark abgefragt werden können. Namen von Dataplex-Zonen können einen Bindestrich (-) enthalten, die Hive-Datenbanknamen jedoch nicht. Daher werden Bindestriche in den Dataplex-Zonennamen Unterstriche (_) in den Hive-Datenbanknamen zugeordnet.

Führen Sie die folgenden Schritte aus, um das Problem zu beheben:

  1. Rufen Sie eine Liste der verfügbaren Datenbanken auf:

    show databases
    
  2. Überprüfen Sie die Liste der zurückgegebenen Datenbanknamen und stellen Sie sicher, dass Sie den richtigen Datenbanknamen abfragen.

Tabelle nicht gefunden

Wenn Sie eine Spark-Abfrage über SQL Workbench oder ein Jupyter-Notebook ausführen, tritt der folgende Fehler auf:

Script failed in execution.
org.apache.spark.sql.AnalysisException: Table or view not found

Dataplex erkennt die Metadaten für BigQuery- und Cloud Storage-Assets und macht sie über Dataproc Metastore (DPMS) zugänglich. Spark-Abfragen auf SQL Workbench oder Jupyter-Notebooks stellen eine Verbindung zu DPMS her, während SQL-Abfragen ausgeführt werden, um die Tabellenmetadaten abzurufen.

Führen Sie die folgenden Schritte aus, um das Problem zu beheben:

  1. So rufen Sie die Liste der verfügbaren Tabellen auf:

    show tables in DATABASE_NAME
    
  2. Achten Sie darauf, dass Sie den richtigen Tabellennamen abfragen.

  3. Wenn der Tabellenname Großbuchstaben enthält, setzen Sie spark.sql.caseSensitive in der Umgebungskonfiguration auf true.

Berechtigungsfehler

Spark-Abfragen schlagen mit Berechtigungsfehlern fehl. Beispiel:

  • HiveException
  • TTransportException

Wenn Sie die Funktion „Erkunden“ in Dataplex verwenden möchten, müssen Sie die erforderlichen Rollen und Berechtigungen für die Dataplex-Ressourcen und die zugrunde liegenden Assets haben.

So beheben Sie das Berechtigungsproblem:

  • Achten Sie darauf, dass Ihnen die erforderlichen Rollen und Berechtigungen für die Verwendung der Data Explore Workbench gewährt wurden.
  • Sie benötigen read-Berechtigungen für die zugrunde liegenden Cloud Storage- und BigQuery-Assets.
  • Achten Sie bei benutzerdefinierten Paketen darauf, dass der Cloud Dataplex-Dienst-Agent read-Berechtigungen für den Cloud Storage-Bucket in der Umgebung hat.

Lake, der Skripts oder Notebooks enthält, kann nicht gelöscht werden

Wenn Sie einen Lake löschen, der für Dataplex-Erkundung verwendet wird, und wenn der Lake Skripts oder Notebooks enthält, tritt der folgende Fehler auf:

Failed to delete `projects/locations/region/lakes/lakename` since it has child
resources.

Für „Dataplex Explore“ muss mindestens eine Umgebung im Ressourcenbrowser vorhanden sein.

Sie können dieses Problem so beheben:

  • Verwenden Sie die gcloud CLI-Befehle, um Skripts und Notebooks aus dem Lake zu löschen, und löschen Sie dann den Lake.
  • eine temporäre Umgebung erstellen, die den Ressourcenbrowser aktiviert. Löschen Sie alle Skripts und Notebooks, gefolgt von der temporären Umgebung und dem Lake.

Job abgebrochen

Wenn Sie eine Spark-Abfrage ausführen, wird der Job abgebrochen, wenn ein kritischer Fehler vorliegt.

Lesen Sie in der Fehlermeldung nach, um die Ursache des Problems zu ermitteln und es zu beheben.

TTransportException beim Abfragen von Iceberg-Tabellen

Wenn Sie eine breite Iceberg-Tabelle abfragen, erfolgt die Ausführung der TTransportException.

Iceberg hat ein bekanntes Problem in Spark 3.1, das für Dataproc 2.0-Images verfügbar ist, die von Dataplex Explore verwendet werden.

Fügen Sie der Abfrage SELECT eine zusätzliche Projektion hinzu, um dieses Problem zu beheben. Beispiel:

SELECT a,b,c, 1 AS dummy FROM ICEBERG_TABLE

In diesem Beispiel ist 1 AS dummy die zusätzliche Projektion. Weitere Informationen finden Sie auf der Seite mit den Problemdetails.

Lakes werden nicht im Ressourcen-Browser „Erkunden“ angezeigt

„Entdecken“ ist nur für Lakes in den Regionen us-central1, europe-west2, europe-west1, us-east1, us-west1, asia-southeast1 und asia-northeast1 verfügbar. Lakes aus einer anderen Region werden nicht im Ressourcenressourcen-Browser angezeigt.

Erste Schritte mit Dataplex Explore

Wenn Sie in der Google Cloud Console auf der Seite Dataplex auf Erkunden klicken, wird die folgende Meldung angezeigt:

In order to use Dataplex Explore to query data in CLoud Storage and BigQuery
using open soure applications (ex: SparkSQL), connect a metastore. Get started
by setting up one. If DPMS is already attached to the lake and you are seeing
this page, please check the DPMS logs for any possible issues.

Die Funktion „Erkunden“ funktioniert nur, wenn für einen Lake ein Dataproc Metastore (DPMS) konfiguriert und mindestens eine Umgebungseinrichtung vorhanden ist.

Um dieses Problem zu beheben, verknüpfen Sie Ihren Lake mit Dataproc Metastore.

Kontingentbeschränkungen

Wenn Sie eine Umgebung erstellen, werden möglicherweise kontingentbezogene Fehler angezeigt.

Um dieses Problem zu beheben, prüfen Sie die folgenden Kontingente, bevor Sie eine Umgebung erstellen:

  • Sie können 10 Umgebungen pro Lake erstellen.
  • Sie können Umgebungen mit maximal 150 Knoten erstellen.
  • Die Sitzungslänge für einzelne Nutzersitzungen ist auf 10 Stunden begrenzt.

Startzeit der Sitzung ist lang

Es dauert 2,5 bis 3,5 Minuten, bis eine neue Sitzung pro Nutzer beginnt. Sobald eine Sitzung aktiv ist, werden damit nachfolgende Abfragen und Notebooks für denselben Nutzer ausgeführt.

Erstellen Sie eine Standardumgebung mit aktiviertem schnellem Starten, um die Sitzungsstartzeit zu reduzieren.

Notebooks mit benutzerdefinierten Python-Paketen können nicht geplant werden

Wenn Sie in der Google Cloud Console ein Notebook planen, das benutzerdefinierte Python-Pakete enthält, tritt der folgende Fehler auf:

Selected environment ENVIRONMENT_NAME has additional Python
packages configured. These packages will not be available in the default runtime
for the scheduled notebook when scheduling in the Console. To make the required
additional Python packages available in the runtime, please create Notebook
Schedule using gcloud command instead, referencing a container image with
required additional packages.

Sie können in der Google Cloud Console kein Notebook planen, wenn die Umgebung benutzerdefinierte Python-Pakete hat.

Verwenden Sie die gcloud CLI, um Notebooks mit benutzerdefinierten Paketen zu planen, um dieses Problem zu beheben.