Memecahkan masalah integrasi Amazon RDS - Layanan Basis Data Relasional Amazon

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

Memecahkan masalah integrasi Amazon RDS

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

Gunakan informasi berikut untuk memecahkan masalah umum dengan integrasi Amazon RDS Zero-ETL.

penting

Operasi resync dan refresh tidak tersedia untuk integrasi nol-ETL dengan lakehouse. Amazon SageMaker Jika ada masalah dengan integrasi, Anda harus menghapus integrasi dan membuat integrasi baru. Anda tidak dapat menyegarkan atau menyinkronkan ulang integrasi yang ada.

Saya tidak dapat membuat integrasi nol-ETL

Jika Anda tidak dapat membuat integrasi nol-ETL, pastikan bahwa berikut ini benar untuk database sumber Anda:

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 database sumber, dan pastikan bahwa mereka cocok dengan nilai yang diperlukan. Untuk informasi selengkapnya, lihat Langkah 1: Buat grup parameter DB kustom.

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

Tabel saya tidak bereplikasi ke Amazon Redshift

Jika Anda tidak melihat satu atau beberapa tabel yang tercermin di Amazon Redshift, Anda dapat menjalankan perintah berikut untuk menyinkronkan ulang tabel tersebut:

ALTER DATABASE dbname INTEGRATION REFRESH TABLES table1, table2;

Untuk informasi selengkapnya, lihat ALTER DATABASE di referensi Amazon Redshift SQL.

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 Menangani tabel tanpa kunci utama saat membuat Amazon Aurora MySQL atau Amazon RDS untuk integrasi Nol-ETL MySQL dengan Amazon Redshift.

Satu atau beberapa tabel Amazon Redshift saya memerlukan sinkronisasi ulang

Menjalankan perintah tertentu pada database sumber Anda mungkin memerlukan tabel Anda untuk disinkronkan ulang. 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 RDS for 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.

Masalah gagal integrasi untuk integrasi Amazon SageMaker lakehouse zero-ETL

Jika Anda mengalami masalah dengan integrasi nol-ETL yang ada dengan Amazon SageMaker lakehouse, satu-satunya resolusi adalah menghapus integrasi dan membuat yang baru. Tidak seperti AWS layanan lain, integrasi nol-ETL tidak mendukung operasi penyegaran atau sinkronisasi ulang.

Untuk mengatasi masalah integrasi:

  1. Hapus integrasi nol-ETL yang bermasalah menggunakan konsol, CLI, atau API.

  2. Verifikasi bahwa database sumber dan konfigurasi gudang data target sudah benar.

  3. Buat integrasi nol-ETL baru dengan konfigurasi yang sama atau diperbarui.

Proses ini akan menghasilkan inisialisasi ulang lengkap dari pipeline data, yang mungkin memakan waktu tergantung pada ukuran database sumber Anda.