Topik ini menjawab pertanyaan umum mengenai pengisian ulang data.
Disarankan untuk membaca panduan pengguna Mengelola instans pengisian ulang data terlebih dahulu.
-
Mengapa paralelisme tidak berlaku untuk node pengisian ulang per jam atau per menit?
-
Mengapa sebuah instans masuk ke status Pending (Schedule) setelah saya menentukan waktu data?
-
Mengapa instans masuk ke status Pending (Resources) selama pengisian ulang data skala besar?
-
Mengapa tidak ada instans pengisian ulang yang dihasilkan untuk suatu node?
Cara kerja pengisian ulang data
Fitur pengisian ulang data memungkinkan Anda memproses data dalam rentang waktu historis atau masa depan. Parameter penjadwalan yang digunakan oleh suatu node secara otomatis diganti dengan nilai yang sesuai berdasarkan waktu data yang dipilih. Contoh berikut menunjukkan cara menulis data inkremental dari database MySQL ke partisi berbasis waktu di MaxCompute. Untuk node sinkronisasi batch, parameter penjadwalan bizdate=$bizdate harus dikonfigurasi di tiga tempat: 1) Pada pengaturan data source, gunakan kondisi filter STR_TO_DATE('${bizdate}','%Y%m%d') <= gmt_modify_time AND gmt_modify_time < DATE_ADD(STR_TO_DATE('${bizdate}','%Y%m%d'), interval 1 day) untuk memfilter data inkremental. 2) Pada pengaturan data destination, atur informasi partisi menjadi pt=${bizdate} dan pilih Insert Overwrite sebagai aturan pembersihan. 3) Pada panel scheduling configuration, masukkan bizdate=$bizdate di bidang Parameters dan pilih Generate instance for the next day (T+1). Nilai ${bizdate} harus konsisten di ketiga pengaturan tersebut agar setiap eksekusi terjadwal hanya menyinkronkan data inkremental untuk waktu data yang sesuai.
Mengapa paralelisme gagal untuk node per jam dan per menit
-
Gejala
Untuk node yang dijadwalkan per jam atau per menit, instans tidak berjalan secara paralel meskipun paralelisme telah diaktifkan untuk pengisian ulang data.
-
Penyebab
Pengaturan paralelisme untuk pengisian ulang data menentukan apakah instans untuk rentang waktu data dengan granularitas harian dijalankan secara bersamaan. Pengaturan ini tidak mengontrol konkurensi instans dalam satu hari yang sama untuk node per jam atau per menit. Konkurensi intra-hari untuk node tersebut bergantung pada apakah dependensi internal (self-dependency) dikonfigurasi. Untuk informasi lebih lanjut, lihat Skenario 2: Mengonfigurasi dependensi pada siklus sebelumnya.
-
Resolusi
-
Jika paralelisme dinonaktifkan, instans untuk waktu data yang berbeda dijalankan secara serial. Instans untuk waktu data berikutnya baru dimulai setelah instans sebelumnya selesai.
-
Jika paralelisme diaktifkan, Anda dapat mengatur jumlah instans konkuren (misalnya, 2, 3, 4, atau 5) untuk menjalankan instans pengisian ulang data untuk beberapa waktu data secara paralel.
Skenario contoh: Misalkan Anda perlu mengisi ulang data selama satu minggu untuk node per jam atau per menit.
-
Jika node memiliki self-dependency, instans untuk minggu tersebut dijalankan secara berurutan berdasarkan urutan kronologis.
-
Jika node tidak memiliki self-dependency, semua instans untuk setiap hari dijalankan secara paralel.
-
Mengapa instans masuk ke status Pending (Schedule)
-
Gejala
Setelah menentukan waktu data untuk mengisi ulang data, instans tidak dijalankan dan tetap berada dalam status Pending (Schedule), ditandai dengan warna kuning.
-
Penyebab
Hal ini terjadi jika waktu eksekusi terjadwal untuk waktu data yang dipilih berada di masa depan.
-
Resolusi
Untuk menjalankan instans tersebut segera, pilih opsi Run Retroactive Instances Scheduled to Run after the Current Time pada kotak dialog Backfill Data.
Catatan-
Jika Anda memilih waktu data yang sesuai dengan waktu eksekusi di masa depan dan tidak mencentang kotak ini, instans akan masuk ke status Pending (Schedule).
-
Jika Anda memilih waktu data yang sesuai dengan waktu eksekusi di masa depan dan mencentang kotak ini, instans akan dijalankan segera.
-
Mengapa pengisian ulang data terbaru berada dalam status pending?
-
Gejala
Saat mengisi ulang data untuk waktu data kemarin atau hari ini, instans masuk ke status Pending (Schedule).
-
Penyebab
Penjadwalan platform biasanya mengikuti model T+1, artinya data dengan waktu data kemarin diproses oleh eksekusi yang dijadwalkan hari ini. Saat Anda mengisi ulang data untuk waktu data tertentu, Anda sebenarnya menjalankan ulang instans siklus untuk tanggal tersebut.
Untuk menemukan instans siklus yang dijadwalkan berjalan hari ini, filter berdasarkan waktu data kemarin. Pada halaman Cycle Instance di Operation Center > Cycle Task O&M, atur filter Data Timestamp ke Yesterday untuk melihat instans siklus yang sesuai beserta statusnya.
Mengapa pengisian ulang menghasilkan beberapa instans
-
Gejala
Mengisi ulang data untuk rentang waktu seperti 00:00 hingga 01:00 menghasilkan beberapa instans.
-
Penyebab
Jumlah instans yang dihasilkan bergantung pada konfigurasi penjadwalan node.
-
Sebagai contoh, jika node per jam dijadwalkan berjalan setiap jam dari 00:00 hingga 23:59, mengisi ulang data untuk rentang waktu 00:00 hingga 01:00 menghasilkan dua instans dengan waktu eksekusi terjadwal pada pukul 00:00 dan 01:00.
-
Demikian pula, jika node dijadwalkan berjalan setiap 30 menit, mengisi ulang data untuk rentang waktu 00:00 hingga 01:00 menghasilkan tiga instans dengan waktu eksekusi terjadwal pada pukul 00:00, 00:30, dan 01:00.
-
Mengapa pengisian ulang skala besar menunggu sumber daya
-
Gejala
Selama operasi pengisian ulang data skala besar, beberapa instans masuk ke status Pending (Resources) dan ditandai dengan warna kuning.
-
Penyebab
Setiap kelompok sumber daya memiliki batas konkurensi maksimum untuk node yang sedang berjalan. Jika jumlah node yang berjalan secara konkuren melebihi batas ini, instans baru akan masuk antrean dalam status Pending (Resources).
CatatanUntuk memecahkan masalah ini, lihat Waiting for resources.
Mengapa muncul error "run time out of range"?
-
Gejala
Terjadi error selama pengisian ulang data yang menyatakan bahwa waktu eksekusi node yang dipicu berada di luar rentang waktu yang dipilih.
-
Penyebab
Error ini terjadi karena waktu eksekusi terjadwal aktual node berada di luar rentang waktu yang Anda tentukan. Untuk node per jam dan per menit, Anda harus menentukan jendela waktu eksekusi untuk pengisian ulang data. Sebagai contoh, pada kotak dialog Backfill Data, jika Anda mengatur Select a run time window menjadi
00:00 ~ 01:00tetapi node yang dipicu dijadwalkan berjalan pada waktu yang berbeda, operasi pengisian ulang akan gagal. Untuk mengatasinya, sesuaikan jendela waktu eksekusi agar mencakup waktu eksekusi terjadwal node tersebut.
Mengapa tidak ada instans pengisian ulang yang dihasilkan?
-
Gejala
Anda telah memulai operasi pengisian ulang data untuk suatu node, tetapi tidak ada instans pengisian ulang yang dihasilkan.
-
Penyebab
Instans tidak dihasilkan jika waktu data berada di luar rentang tanggal efektif node. Pastikan waktu data untuk pengisian ulang berada dalam rentang tanggal efektif node. Pada panel scheduling configuration node, Anda dapat melihat pengaturan seperti berikut: Time attribute diatur ke Normal scheduling, Rerun attribute tidak dipilih, Auto rerun on error tidak dipilih, effective date range adalah 1999-09-09 hingga 1999-10-22 (penjadwalan hanya berlaku dalam rentang ini), Suspend scheduling tidak dipilih, scheduling cycle adalah Daily, dan waktu terjadwal adalah 00:19. Jika waktu data untuk pengisian ulang berada di luar effective date range, tidak ada instans pengisian ulang yang dihasilkan.
Mengisi ulang data untuk node mingguan dan bulanan
-
Deskripsi: Saat mengisi ulang data untuk node mingguan atau bulanan, Anda harus mengatur waktu data ke hari sebelum waktu eksekusi terjadwal. Node yang dijadwalkan berjalan pada hari tertentu dalam seminggu atau sebulan hanya dieksekusi pada hari yang ditentukan tersebut. Pada hari lain, instans dry-run dihasilkan, tetapi node tidak benar-benar dijalankan. Status instans tersebut menunjukkan siklus dry-run mingguan atau bulanan. Untuk informasi lebih lanjut, lihat Skenario 1: Dry run untuk siklus mingguan/bulanan.
Catatan-
Waktu data untuk pengisian ulang dihitung sebagai:
waktu data = Tanggal eksekusi terjadwal - 1 hari. -
Untuk informasi lebih lanjut mengenai hubungan antara parameter penjadwalan, waktu data, waktu terjadwal, dan waktu eksekusi aktual, lihat Supported formats for scheduling parameters.
-
-
Contoh: Mengisi ulang data untuk node bulanan
Untuk node yang dijadwalkan berjalan pada pukul 00:00 di hari pertama setiap bulan, Anda harus mengatur waktu data ke hari terakhir bulan sebelumnya. Untuk node bulanan dengan scheduling cycle diatur ke Monthly dan waktu eksekusinya adalah
00 00 00 1 * ?, atur tanggal awal dan akhir untuk Data Timestamp pada kotak dialog Backfill Data menjadi 2022-11-30 untuk memproses data November 2022, lalu klik OK.
Cara batas instans paralel memengaruhi pengisian ulang
-
Saat pengaturan maximum parallel instances diaktifkan untuk suatu node, batas ini berlaku baik untuk instans pengisian ulang data maupun instans siklus reguler. Keduanya berbagi kuota konkurensi yang sama.
-
Saat konkurensi instans melebihi batas, sistem terutama melakukan pengendalian aliran terhadap instans pengisian ulang data historis, yaitu instans untuk waktu data sebelum hari ini.
-
Batas maximum parallel instances hanya berlaku untuk instans yang dihasilkan setelah pengaturan diaktifkan. Instans yang sudah berjalan atau dalam antrean tidak terpengaruh.
-
Nilai maximum parallel instances dapat berkisar dari 1 hingga 10.000, dengan nilai default 1.