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.objectVieweroderroles/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 deniedenthält, prüfen Sie die Berechtigungen des Dienstkontos. Wenn erTABLE_CONFIGenthä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_PUBLISHcom.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 vonYear=2023/Mon=Janin einem Pfad undYear=2023/Dept=Salesin 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
stringund in einer anderen den Typintoderboolean. - 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:
- Rufen Sie in der Google Cloud Console die Seite BigQuery auf.
- Maximieren Sie im Bereich Explorer Ihr Projekt, wählen Sie das Dataset aus und klicken Sie auf die betroffene Tabelle.
- Klicken Sie auf den Tab Details.
- Prüfen Sie im Bereich Labels den Wert des Schlüssels
metadata-managed-mode. 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.