Fehlerbehebung für den BigQuery-Sink-Connector

In diesem Abschnitt finden Sie eine Anleitung zur Fehlerbehebung für häufige Probleme, die bei der Verwendung von BigQuery-Sink-Connectors auftreten.

Fehlerbehebung bei der tabellengesteuerten Konfiguration

Im tabellengesteuerten Konfigurationsmodus müssen Kafka-Nachrichten genau dem Tabellenschema entsprechen. Hier finden Sie einige häufige Probleme, die bei der Konfiguration dieser Methode auftreten können.

Nicht-nullable Spalte fehlt

Wenn in einer Kafka-Nachricht ein Feld fehlt, das in der BigQuery-Tabelle als Spalte ohne Nullwerte vorhanden ist, schlägt die Schreiboperation mit einer Fehlermeldung fehl, die der folgenden ähnelt:

Failed to write rows after BQ table creation or schema update within 30
attempts for: GenericData{classInfo=[datasetId, projectId, tableId], {datasetId=<datasetID>, tableId=<tableID>}}"

Ersetzen Sie <datasetID> und <tableID> durch die tatsächlichen Dataset- und Tabellen-IDs.

Ändern Sie die BigQuery-Spalte in NULLABLE und starten Sie den Connector neu, um das Problem zu beheben.

Nicht definierte Felder

Wenn Felder in der Kafka-Nachricht nicht im BigQuery-Tabellenschema definiert sind, schlägt der Schreibvorgang mit einer Fehlermeldung wie der folgenden fehl:

Insertion failed at table repairScenario for following rows:
[row index 0] (Failure reason : The source object has fields unknown to BigQuery: root.<fieldName>.)

Ersetzen Sie <fieldName> durch den Namen des nicht definierten Felds.

Um das Problem zu beheben, fügen Sie der BigQuery-Tabelle die fehlenden Felder hinzu und starten Sie den Connector neu.

Typ stimmt nicht überein

Wenn ein Typkonflikt zwischen einem Kafka-Nachrichtenfeld und der entsprechenden BigQuery-Tabellenspalte auftritt (z. B. ein String in Kafka und eine Ganzzahl in BigQuery), schlägt der Schreibvorgang mit einer Fehlermeldung fehl, die der folgenden ähnelt:

[row index 0] (location <field>, reason: invalid): Cannot convert value to <type> (bad value): <val>

Ersetzen Sie <field>, <type> und <val> durch den entsprechenden Feldnamen, Datentyp und Wert.

Dieses Problem ist bekannt.

Apache Kafka® ist eine eingetragene Marke der Apache Software Foundation oder deren Tochtergesellschaften in den USA und/oder anderen Ländern.

AppendRows-Anfrage zu groß

Wenn Sie den StorageWrite-Modus des Connectors verwenden, wird möglicherweise ein Fehler wie der folgende angezeigt:

INVALID_ARGUMENT: AppendRows request too large: 11053472 limit 10485760

Der Connector versucht, alle Nachrichten innerhalb eines einzelnen Pollings von Kafka in einem einzelnen Batch in BigQuery zu schreiben. Wenn die Batchgröße das BigQuery-Limit (10.485.760 Byte) überschreitet, schlägt der Schreibvorgang fehl. Legen Sie die Konfigurationseigenschaft consumer.override.max.poll.records des Connectors auf einen kleineren Wert fest, um diesen Fehler zu beheben. Der Standardwert für diesen Parameter ist 500.

Nächste Schritte