Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Memecahkan masalah Amazon RDS nol- ETL integrasi dengan Amazon Redshift
Anda dapat memeriksa status ETL integrasi nol dengan menanyakan tabel INTEGRATION sistem SVV_ 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 dengan integrasi nol Amazon RDS ETL dengan Amazon Redshift.
Topik
Saya tidak dapat membuat ETL integrasi nol
Jika Anda tidak dapat membuat ETL integrasi nol, pastikan bahwa berikut ini benar untuk basis data sumber Anda:
-
Database sumber Anda harus menjalankan versi mesin DB yang didukung. Untuk daftar versi yang didukung, lihat Wilayah dan engine DB yang Didukung untuk ETL integrasi RDS nol Amazon dengan Amazon Redshift.
-
Anda mengkonfigurasi parameter DB dengan benar. Jika parameter yang diperlukan disetel secara tidak benar atau tidak terkait dengan database, pembuatan gagal. Lihat Langkah 1: Buat grup parameter DB kustom.
Selain itu, pastikan hal-hal berikut ini sudah benar untuk gudang data target Anda:
-
Kepekaan huruf besar/kecil diaktifkan. Lihat Mengaktifkan kepekaan huruf besar/kecil untuk gudang data Anda.
-
Anda menambahkan prinsipal yang diotorisasi dan sumber integrasi yang benar. Lihat Mengonfigurasi otorisasi untuk gudang data Amazon Redshift Anda.
-
Gudang data dienkripsi (jika itu adalah cluster yang disediakan). Lihat enkripsi basis data Amazon Redshift.
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 TABLEStable1
,table2
;
Untuk informasi lebih lanjut, lihat ALTERDATABASEdi referensi Amazon RedshiftSQL.
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 ETL integrasi nol 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 My atau SQL Amazon RDS untuk ETL integrasi SQL nol Saya 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 STATE sistem SVVINTEGRATION_ TABLE _ _ menunjukkan table_state
dariResyncRequired
, yang berarti bahwa integrasi harus memuat ulang data sepenuhnya untuk tabel tertentu dari Pergeseran Merah Saya SQL ke Amazon.
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 |
|
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:
|
Menambahkan kolom stempel waktu dengan CURRENT_TIMESTAMP default |
|
CURRENT_TIMESTAMP Nilai untuk baris tabel yang ada dihitung oleh RDSuntuk My SQL dan tidak dapat disimulasikan di Amazon Redshift tanpa sinkronisasi ulang data tabel lengkap. Jika memungkinkan, alihkan nilai default ke konstanta literal seperti |
Melakukan beberapa operasi kolom dalam satu perintah |
|
Pertimbangkan untuk membagi perintah menjadi dua operasi terpisah, ADD dan RENAME , yang tidak memerlukan sinkronisasi ulang. |