Probleme bei der Datenerkennung in Knowledge Catalog beheben

In dieser Anleitung erfahren Sie, wie Sie häufige Probleme mit Knowledge Catalog-Datenermittlungsscans (auch als eigenständige Ermittlung bezeichnet) beheben, einschließlich Fehlern beim Veröffentlichen von Tabellen und Fehlern aufgrund von Schemainkompatibilität.

Fehler beim Veröffentlichen von BigQuery-Tabelle (FAILED_BIGQUERY_TABLE_PUBLISH)

Bei der Ausführung eines Ermittlungsscans kann es vorkommen, dass Tabellen nicht in BigQuery veröffentlicht werden können. In diesem Fall wird in den Scanlogs in Cloud Logging die Aktion FAILED_BIGQUERY_TABLE_PUBLISH protokolliert.

Dieses Problem tritt aufgrund der folgenden Bedingungen auf:

  • Unzureichende IAM-Berechtigungen: Dem Knowledge Catalog-Dienstkonto oder dem BigQuery-Verbindungsdienstkonto fehlen die erforderlichen Rollen, um Verbindungen zu delegieren, auf Cloud Storage zuzugreifen oder in das Ziel-Dataset zu schreiben.
  • Fehler bei der BigQuery-Verbindung oder beim Dataset: Die angegebene Verbindungs-ID ist ungültig oder die Verbindung und das Ziel-Dataset befinden sich in verschiedenen Regionen.
  • Fehler bei der Tabellenkonfiguration: Beim Erstellen oder Ändern von Tabellen werden falsche oder nicht unterstützte Einstellungen verwendet.

Führen Sie die folgenden Prüfungen aus, um dieses Problem zu beheben:

  • Rollen des Dienstkontos prüfen: Prüfen Sie, ob das Knowledge Catalog-Dienstkonto service-PROJECT_NUMBER@gcp-sa-dataplex. die Rolle „Dataplex Discovery BigLake Publishing Service Agent“ (roles/dataplex.discoveryBigLakePublishingServiceAgent) hat.
  • Verbindungsberechtigungen prüfen: Wenn Sie BigLake-Tabellen erstellen, prüfen Sie, ob das BigQuery Verbindungsdienstkonto Lesezugriff auf den Cloud Storage-Bucket hat (mit roles/storage.objectViewer oder roles/dataplex.discoveryServiceAgent).
  • Verbindungs- und Dataset-Standort prüfen: Prüfen Sie, ob die BigQuery-Verbindung und das BigQuery Dataset in derselben Region vorhanden sind und mit dem Standort des Cloud Storage-Bucket kompatibel sind.
  • Logs auf Details prüfen: Sehen Sie sich die Logs Ihrer DataScan-Jobs in Cloud Logging an. Wenn der Fehler BigQuery: Permission denied enthält, prüfen Sie die Berechtigungen des Dienstkontos. Wenn er TABLE_CONFIG enthält, prüfen Sie, ob die Datendateien den BigQuery-Anforderungen entsprechen.

Erstellung von BigLake-Tabellen für große Cloud Storage-Buckets schlägt fehl

Wenn bei einem Ermittlungsscan Cloud Storage-Buckets mit großen Datenmengen oder großen einzelnen Dateien (z. B. Avro-Dateien mit mehr als 30 MB) verarbeitet werden, kann das BigQuery-Dataset zwar erfolgreich erstellt, die BigLake-Tabellen aber nicht veröffentlicht werden.

In diesem Fall werden in Cloud Logging möglicherweise die folgenden Fehler angezeigt:

  • FAILED_BIGQUERY_TABLE_PUBLISH
  • com.google.cloud.bigquery.BigQueryException: Read timed out

Dieses Problem ist eine bekannte Einschränkung der Skalierbarkeit. Wenn Sie eine sofortige Tabellenbereitstellung benötigen, konfigurieren Sie Ihren Ermittlungsscan so, dass er eine kleinere, gefilterte Teilmenge Ihrer Bucket-Daten enthält.

Schemaabweichungen in Cloud Storage-Ordnern

Bei einem Datenermittlungsscan können externe Tabellen nicht registriert werden oder Dateien in bestimmten Ordnern werden nicht erkannt.

Dieses Problem tritt auf, wenn Ihre Cloud Storage-Ordner Dateien mit inkompatiblen Schemas oder unterschiedlichen Formaten enthalten. Beim Ermittlungsscan werden Dateien nur dann in einer einzigen Tabelle gruppiert, wenn sie sich im selben Ordner befinden und ein kompatibles Schema haben.

Wenn bei einem Datenermittlungsscan ein Cloud Storage-Pfad analysiert wird, wird erwartet, dass die Dateien in einem Ordner und die Partitionsstruktur in allen Ordnern einheitlich sind. Beim Scan wird eine Aktion gekennzeichnet, wenn eines der folgenden Probleme erkannt wird:

  • Ungültiges Datenformat (INVALID_DATA_FORMAT): In demselben Ordner oder in verschiedenen Partitionen werden uneinheitliche Datenformate gefunden (z. B. .csv- und .parquet-Dateien im selben Verzeichnis).
  • Ungültige Partitionsdefinition (INVALID_PARTITION_DEFINITION): Partitions-Keys sind uneinheitlich oder fehlen. Beispiel: Verwendung von Year=2023/Mon=Jan in einem Pfad und Year=2023/Dept=Sales in einem anderen.
  • Inkompatibles Datenschema (INCOMPATIBLE_DATA_SCHEMA): In Dateien im selben Ordner oder in derselben Tabelle werden uneinheitliche oder inkompatible Schemas erkannt.

Bei stark typisierten Formaten wie Avro und Parquet treten Schemaabweichungen aufgrund folgender Probleme auf:

  • Inkompatible Datentypen: Eine Spalte hat in einer Datei den Typ string und in einer anderen den Typ int oder boolean.
  • Fehlende Standardwerte: In neueren Dateien werden neue Felder hinzugefügt oder gelöscht ohne dass in der Schemadefinition Standardwerte angegeben werden. Dadurch wird eine korrekte Schemaentwicklung verhindert.
  • Beschädigtes Dateiformat: Eine oder mehrere Dateien sind fehlerhaft oder beschädigt, sodass das Schema nicht gelesen und extrahiert werden kann.

Prüfen Sie Ihre Dateistruktur und Schemadefinitionen, um dieses Problem zu beheben:

  • Dateien nach Schema und Format organisieren: Prüfen Sie, ob alle Dateien in einem Ordner dasselbe Format und dieselbe Schemastruktur haben. Verschieben Sie Dateien mit unterschiedlichen Spalten, primitiven Typen oder Formaten in separate Ordner oder Präfixe, damit sie als separate Tabellen registriert werden können.
  • Einheitliche Partitionsdefinitionen verwenden: Achten Sie darauf, dass Partitions-Keys und -Strukturen in allen Partitionsordnern einheitlich sind (z. B. immer Year=YYYY/Month=MM/ verwenden).
  • Regeln für die Schemaentwicklung befolgen: Wenn Sie Schemas aktualisieren (z. B. Felder zu Avro-Dateien hinzufügen oder daraus entfernen), definieren Sie immer Standardwerte, damit der Ermittlungsdienst die Schema- Varianten erfolgreich zusammenführen kann.
  • Beschädigte Dateien identifizieren: Prüfen Sie die Scan-Ausgabe oder die Logs, um festzustellen, ob eine bestimmte Datei nicht decodiert werden kann. Verschieben Sie Dateien vorübergehend, um herauszufinden, ob eine bestimmte Datei dazu führt, dass der Scan fehlschlägt.

Entdeckte Tabellen werden nicht mit Schemaänderungen aktualisiert

Nachdem Sie Dateien in Cloud Storage geändert oder einen neuen Scan ausgeführt haben, wird das aktualisierte Schema nicht in den veröffentlichten BigQuery-Tabellen berücksichtigt.

Dieses Problem tritt auf, wenn für die veröffentlichte Tabelle das Label metadata-managed-mode auf user_managed gesetzt ist. Standardmäßig werden Tabellen bei der Ermittlung als discovery_managed veröffentlicht. Wenn Sie oder ein anderer Nutzer die Schemaproperties der Tabelle manuell bearbeiten, müssen Sie das Label in user_managed ändern, um automatische Aktualisierungen zu verhindern.

Prüfen Sie die Tabellenlabels in BigQuery, um dieses Problem zu beheben:

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
  2. Maximieren Sie im Bereich Explorer Ihr Projekt, wählen Sie das Dataset aus und klicken Sie auf die betroffene Tabelle.
  3. Klicken Sie auf den Tab Details.
  4. Prüfen Sie im Bereich Labels den Wert des Schlüssels metadata-managed-mode.
  5. Wenn der Ermittlungsscan das Schema wieder verwalten und aktualisieren soll, klicken Sie auf Details bearbeiten und ändern Sie den Wert in discovery_managed.

Support kontaktieren

Wenn Sie Hilfe bei der Behebung eines Problems benötigen, das in diesem Dokument nicht behandelt wird, wenden Sie sich an Cloud Customer Care.