Memecahkan masalah integrasi nol-ETL Aurora dengan Amazon Redshift - Amazon Aurora

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memecahkan masalah integrasi nol-ETL Aurora dengan Amazon Redshift

Anda dapat memeriksa status integrasi nol-ETL dengan mengueri tabel sistem SVV_INTEGRATION di Amazon Redshift. Jika kolom state memiliki nilai ErrorState, artinya ada sesuatu yang salah. Untuk informasi selengkapnya, lihat Memantau integrasi menggunakan tabel sistem.

Gunakan informasi berikut untuk memecahkan masalah umum integrasi nol-ETL Aurora dengan Amazon Redshift.

Saya tidak dapat membuat integrasi nol-ETL

Jika Anda tidak dapat membuat integrasi nol-ETL, pastikan hal berikut sudah benar untuk klaster DB sumber Anda:

  • Kluster DB sumber Anda menjalankan , atau Aurora PostgreSQL (kompatibel dengan PostgreSQL 15.4 dan Dukungan Zero-ETL). Untuk memvalidasi versi mesin, pilih tab Konfigurasi untuk cluster DB dan periksa versi Engine.

  • Anda mengonfigurasi parameter klaster DB dengan benar. Jika parameter yang diperlukan tidak diatur dengan benar atau tidak terkait dengan klaster, pembuatan akan gagal. Lihat Langkah 1: Buat grup parameter klaster DB kustom.

Selain itu, pastikan hal-hal berikut ini sudah benar untuk gudang data target Anda:

Integrasi saya terjebak dalam keadaan Syncing

Integrasi Anda mungkin secara konsisten menunjukkan status Syncing jika Anda mengubah nilai salah satu parameter DB yang diperlukan.

Untuk memperbaiki masalah ini, periksa nilai parameter dalam grup parameter yang terkait dengan cluster DB sumber, dan pastikan bahwa mereka cocok dengan nilai yang diperlukan. Untuk informasi selengkapnya, lihat Langkah 1: Buat grup parameter klaster DB kustom.

Jika Anda memodifikasi parameter apa pun, pastikan untuk me-reboot cluster DB untuk menerapkan perubahan.

Tabel saya tidak bereplikasi ke Amazon Redshift

Data Anda mungkin tidak mereplikasi karena satu atau beberapa tabel sumber Anda tidak memiliki kunci utama. Dasbor pemantauan di Amazon Redshift menampilkan status tabel ini sebagaiFailed, dan status integrasi nol-ETL keseluruhan berubah menjadi. Needs attention

Untuk mengatasi masalah ini, Anda dapat mengidentifikasi kunci yang ada di tabel Anda yang dapat menjadi kunci utama, atau Anda dapat menambahkan kunci primer sintetis. Untuk solusi mendetail, lihat dengan Amazon Redshift. sumber daya berikut:

Satu atau beberapa tabel Amazon Redshift saya memerlukan sinkronisasi ulang

Untuk menjalankan perintah tertentu di klaster DB sumber, Anda mungkin perlu menyinkronkan ulang tabel Anda. Dalam kasus ini, tampilan sistem SVV_INTEGRATION_TABLE_STATE menunjukkan table_state dari ResyncRequired. Artinya, integrasi harus memuat ulang data sepenuhnya untuk tabel spesifik tersebut dari MySQL ke Amazon Redshift.

Ketika tabel mulai disinkronkan ulang, tabel ini akan beralih ke status Syncing. Anda tidak perlu mengambil tindakan manual apa pun untuk menyinkronkan ulang tabel. Saat data tabel disinkronkan ulang, Anda tidak dapat mengaksesnya di Amazon Redshift.

Berikut ini adalah beberapa contoh operasi yang dapat menempatkan tabel ke dalam status ResyncRequired, dan beberapa kemungkinan alternatif untuk dipertimbangkan.

Operasi Contoh Alternatif
Menambahkan kolom ke posisi tertentu
ALTER TABLE table_name ADD COLUMN column_name INTEGER NOT NULL first;
Amazon Redshift tidak mendukung penambahan kolom ke posisi tertentu menggunakan kata kunci first atau after. Jika urutan kolom dalam tabel target tidak penting, tambahkan kolom ke akhir tabel menggunakan perintah yang lebih sederhana:
ALTER TABLE table_name ADD COLUMN column_name column_type;
Menambahkan kolom stempel waktu dengan CURRENT_TIMESTAMP default
ALTER TABLE table_name ADD COLUMN column_name TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
Nilai CURRENT_TIMESTAMP untuk baris tabel yang ada dihitung oleh Aurora MySQL dan tidak dapat disimulasikan di Amazon Redshift tanpa sinkronisasi ulang data tabel penuh.

Jika memungkinkan, alihkan nilai default ke konstanta literal seperti 2023-01-01 00:00:15 untuk menghindari latensi dalam ketersediaan tabel.

Melakukan beberapa operasi kolom dalam satu perintah
ALTER TABLE table_name ADD COLUMN column_1, RENAME COLUMN column_2 TO column_3;
Pertimbangkan untuk membagi perintah menjadi dua operasi terpisah, ADD dan RENAME, yang tidak memerlukan sinkronisasi ulang.