Memecahkan masalah konektor sink BigQuery

Bagian ini memberikan panduan pemecahan masalah untuk masalah umum yang dihadapi saat menggunakan konektor sink BigQuery.

Memecahkan masalah konfigurasi berbasis tabel

Dalam mode konfigurasi berbasis tabel, pesan Kafka harus sangat sesuai dengan skema tabel. Berikut beberapa masalah umum yang mungkin terjadi saat Anda mengonfigurasi metode ini.

Kolom yang tidak boleh bernilai null tidak ada

Jika pesan Kafka menghilangkan kolom yang ada sebagai kolom yang tidak boleh null dalam tabel BigQuery, operasi penulisan akan gagal dengan pesan error yang mirip dengan berikut ini:

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

Ganti <datasetID> dan <tableID> dengan ID set data dan tabel yang sebenarnya.

Untuk mengatasi masalah ini, ubah kolom BigQuery menjadi NULLABLE dan mulai ulang konektor.

Kolom yang tidak ditentukan

Jika ada kolom dalam pesan Kafka yang tidak ditentukan dalam skema tabel BigQuery, operasi penulisan akan gagal dengan pesan error yang mirip dengan berikut ini:

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

Ganti <fieldName> dengan nama kolom yang tidak ditentukan.

Untuk mengatasi masalah ini, tambahkan kolom yang tidak ada ke tabel BigQuery, lalu mulai ulang konektor.

Jenis tidak cocok

Jika terjadi ketidakcocokan jenis antara kolom pesan Kafka dan kolom tabel BigQuery yang sesuai (misalnya, string di Kafka dan bilangan bulat di BigQuery), operasi penulisan akan gagal dengan pesan error yang mirip dengan berikut ini:

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

Ganti <field>, <type>, dan <val> dengan nama kolom, jenis data, dan nilai yang relevan.

Ini adalah masalah umum.

Apache Kafka® adalah merek dagang terdaftar milik The Apache Software Foundation atau afiliasinya di Amerika Serikat dan/atau negara lain.

Permintaan AppendRows terlalu besar

Saat menggunakan mode StorageWrite konektor, Anda mungkin melihat error yang mirip dengan berikut ini:

INVALID_ARGUMENT: AppendRows request too large: 11053472 limit 10485760

Konektor mencoba menulis semua pesan dalam satu polling dari Kafka dalam satu batch ke BigQuery. Jika ukuran batch melebihi batas BigQuery (10485760 byte), operasi tulis akan gagal. Untuk mengatasi error ini, tetapkan properti konfigurasi consumer.override.max.poll.records di konektor ke angka yang lebih kecil. Nilai default untuk parameter ini adalah 500.

Langkah berikutnya