Risolvi i problemi relativi al connettore sink BigQuery

Questa sezione fornisce indicazioni per la risoluzione dei problemi comuni riscontrati quando si utilizzano i connettori di sink BigQuery.

Risoluzione dei problemi relativi alla configurazione basata su tabelle

Nella modalità di configurazione basata su tabella, i messaggi Kafka devono essere strettamente allineati allo schema della tabella. Di seguito sono riportati alcuni problemi comuni che potrebbero verificarsi durante la configurazione di questo metodo.

Colonna non annullabile mancante

Se un messaggio Kafka omette un campo che esiste come colonna non nullabile nella tabella BigQuery, l'operazione di scrittura non riesce e viene visualizzato un messaggio di errore simile al seguente:

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

Sostituisci <datasetID> e <tableID> con gli ID effettivi del set di dati e della tabella.

Per risolvere il problema, modifica la colonna BigQuery in NULLABLE e riavvia il connettore.

Campi non definiti

Se alcuni campi del messaggio Kafka non sono definiti nello schema della tabella BigQuery, l'operazione di scrittura non va a buon fine e viene visualizzato un messaggio di errore simile al seguente:

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

Sostituisci <fieldName> con il nome del campo non definito.

Per risolvere il problema, aggiungi i campi mancanti alla tabella BigQuery e riavvia il connettore.

Mancata corrispondenza del tipo

Se si verifica una mancata corrispondenza del tipo tra un campo del messaggio Kafka e la colonna della tabella BigQuery corrispondente (ad esempio, una stringa in Kafka e un numero intero in BigQuery), l'operazione di scrittura non va a buon fine e viene visualizzato un messaggio di errore simile al seguente:

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

Sostituisci <field>, <type> e <val> con il nome del campo, il tipo di dati e il valore pertinenti, rispettivamente.

Questo è un problema noto.

Apache Kafka® è un marchio registrato di Apache Software Foundation o delle sue affiliate negli Stati Uniti e/o in altri paesi.

Richiesta AppendRows troppo grande

Quando utilizzi la modalità StorageWrite del connettore, potresti visualizzare un errore simile al seguente:

INVALID_ARGUMENT: AppendRows request too large: 11053472 limit 10485760

Il connettore tenta di scrivere tutti i messaggi all'interno di un singolo polling da Kafka in un singolo batch in BigQuery. Se la dimensione del batch supera il limite di BigQuery (10485760 byte), l'operazione di scrittura non va a buon fine. Per risolvere questo errore, imposta la proprietà di configurazione consumer.override.max.poll.records sul connettore su un numero inferiore. Il valore predefinito di questo parametro è 500.

Passaggi successivi