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.
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
- Risolvere i problemi relativi ai cluster e ai connettori di Connect
- Crea un connettore di sink BigQuery