DataWorks Data Integration memungkinkan Anda membuat tugas sinkronisasi untuk menyinkronkan data penuh dan inkremental dalam database ke MaxCompute secara quasi real-time. Saat tugas dijalankan, data penuh disinkronkan terlebih dahulu, kemudian data inkremental disinkronkan secara real-time ke MaxCompute. Topik ini menjelaskan cara membuat tugas tersebut.
Prasyarat
Sumber data yang ingin digunakan telah dipersiapkan. Sebelum mengonfigurasi tugas sinkronisasi, siapkan sumber data untuk membaca dan menulis data. Untuk informasi lebih lanjut tentang jenis sumber data yang didukung dan penambahan sumber data, lihat Jenis Sumber Data yang Didukung dan Operasi Sinkronisasi.
CatatanUntuk informasi tentang item yang perlu dipahami sebelum menambahkan sumber data, lihat Ikhtisar.
Lingkungan sumber data telah dipersiapkan. Sebelum mengonfigurasi tugas sinkronisasi, buat akun untuk mengakses database dan berikan izin yang diperlukan untuk operasi tertentu pada database. Untuk informasi lebih lanjut, lihat Ikhtisar.
Grup sumber daya eksklusif untuk Data Integration atau grup sumber daya serverless yang memenuhi kebutuhan bisnis telah dibeli dan terhubung dengan ruang kerja Anda. Untuk informasi lebih lanjut, lihat Gunakan Grup Sumber Daya Serverless atau Buat dan Gunakan Grup Sumber Daya Eksklusif untuk Data Integration.
Koneksi jaringan telah dibuat antara grup sumber daya dan sumber data. Untuk informasi lebih lanjut, lihat Solusi Konektivitas Jaringan.
Informasi latar belakang
Setelah menjalankan tugas sinkronisasi yang dibuat dalam contoh ini, tugas penggabungan otomatis dihasilkan untuk menggabungkan data penuh dan inkremental. Data penuh ditulis ke tabel dasar MaxCompute sekaligus, dan data inkremental ditulis ke tabel log MaxCompute secara real-time. Sistem menjalankan tugas penggabungan secara berkala untuk menggabungkan data penuh dan inkremental serta menulis semua data ke tabel dasar MaxCompute. Penggabungan dilakukan sekali sehari.
Item | Deskripsi |
Jumlah tabel dari mana Anda dapat membaca data |
|
Subtugas | Tugas sinkronisasi menghasilkan beberapa subtugas sinkronisasi batch yang digunakan untuk menyinkronkan data penuh dan subtugas sinkronisasi real-time yang digunakan untuk menyinkronkan data inkremental. Jumlah subtugas sinkronisasi batch yang dihasilkan bervariasi berdasarkan jumlah tabel dari mana data dibaca. |
Penulisan data | Anda dapat menyinkronkan data penuh dan inkremental atau hanya data inkremental ke MaxCompute. Proses menyinkronkan data penuh dan inkremental terdiri dari tahapan berikut:
Catatan
Gambar berikut menunjukkan cara menyinkronkan data penuh dan inkremental ke tabel partisi. |
Perhatian
Jika Anda menjalankan tugas sinkronisasi menggunakan pasangan AccessKey sementara, pasangan tersebut hanya valid selama tujuh hari. Setelah periode tersebut berakhir, pasangan AccessKey kedaluwarsa, dan tugas sinkronisasi gagal. Jika sistem mendeteksi bahwa pasangan AccessKey telah kedaluwarsa, sistem akan memulai ulang tugas sinkronisasi. Jika aturan peringatan dikonfigurasikan, sistem melaporkan kesalahan.
Pada hari Anda mengonfigurasi tugas sinkronisasi, Anda hanya dapat meminta data penuh historis. Data inkremental hanya dapat diminta setelah data penuh dan inkremental digabungkan pada hari berikutnya. Untuk informasi lebih lanjut, lihat deskripsi item penulisan data dalam bagian Informasi Latar Belakang.
Tugas sinkronisasi menghasilkan partisi untuk menyimpan data penuh dalam tabel MaxCompute setiap hari. Untuk mencegah penggunaan penyimpanan yang berlebihan, siklus hidup default tabel MaxCompute yang dibuat secara otomatis adalah 30 hari. Jika siklus hidup tidak sesuai dengan kebutuhan bisnis, Anda dapat memodifikasi siklus hidup tabel saat mengonfigurasi tugas sinkronisasi. Untuk informasi lebih lanjut, lihat Langkah 4: Konfigurasikan Pengaturan Terkait Tabel Tujuan.
Data Integration menggunakan saluran yang disediakan oleh MaxCompute untuk mengunggah dan mengunduh data. Anda dapat memilih saluran berdasarkan kebutuhan bisnis. Untuk informasi lebih lanjut tentang jenis saluran yang disediakan oleh MaxCompute, lihat Skenario dan Alat Unggah Data.
Jika Anda menjalankan tugas sinkronisasi dalam mode instance penuh pada grup sumber daya eksklusif untuk Data Integration, spesifikasi grup sumber daya harus minimal 8 vCPU dan 16 GiB memori. Jika menggunakan grup sumber daya serverless, grup tersebut harus berisi minimal dua unit komputasi (CU).
Batasan
Anda hanya dapat menggunakan sumber data MaxCompute yang dikelola sendiri yang berada di wilayah yang sama dengan ruang kerja Anda. Jika menggunakan sumber data MaxCompute yang dikelola sendiri di wilayah berbeda, sumber data tersebut dapat terhubung ke grup sumber daya yang digunakan. Namun, kesalahan yang menunjukkan bahwa mesin komputasi tidak ada dilaporkan saat sistem membuat tabel MaxCompute selama pelaksanaan tugas sinkronisasi.
CatatanJika menggunakan sumber data MaxCompute yang dikelola sendiri, Anda harus mengaitkan mesin komputasi MaxCompute dengan ruang kerja Anda. Jika tidak, node SQL MaxCompute tidak dapat dibuat, sehingga node yang digunakan untuk menandai akhir sinkronisasi penuh juga tidak dapat dibuat.
Anda harus mengonfigurasi resource group for scheduling untuk subtugas sinkronisasi batch yang dihasilkan. Grup sumber daya bersama untuk penjadwalan tidak didukung.
Penagihan
Tugas sinkronisasi memerlukan penggabungan periodik data penuh dan inkremental, sehingga mengonsumsi sumber daya komputasi MaxCompute. Biaya untuk sumber daya komputasi MaxCompute ditagih oleh MaxCompute dan berkorelasi positif dengan ukuran data penuh dan siklus penggabungan. Untuk informasi lebih lanjut, lihat Item yang Dapat Ditagih dan Metode Penagihan.
Prosedur
Langkah 1: Pilih jenis sinkronisasi
Masuk ke konsol DataWorks dan buka halaman Tugas Sinkronisasi di Data Integration.
Buka halaman Data Integration.
Masuk ke konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi sisi kiri, pilih . Pada halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Go to Data Integration.
Di halaman Synchronization Task, pilih jenis sumber dan jenis tujuan, lalu klik Create Synchronization Task untuk pergi ke halaman Buat Solusi Sinkronisasi Data. Di bagian Pengaturan Dasar halaman tersebut, konfigurasikan parameter berikut:
Sumber Dan Tujuan: Pilih jenis sumber yang diinginkan dan pilih MaxCompute sebagai jenis tujuan.
CatatanJenis sumber berikut didukung:
ApsaraDB for OceanBase,MySQL,Oracle, danPolarDB.Nama Node Baru: Tentukan nama untuk tugas sinkronisasi berdasarkan kebutuhan bisnis Anda.
Metode Sinkronisasi: Pilih Full increment of the whole warehouse(quasi real time).
Langkah 2: Bentuk koneksi jaringan
Pilih sumber, tujuan, dan grup sumber daya yang ingin digunakan untuk menjalankan tugas sinkronisasi. Uji konektivitas jaringan antara sumber data dan grup sumber daya.

Saat memilih sumber, klik ikon
. Di kotak dialog Konfigurasi, konfigurasikan parameter Encoding dan Time Zone berdasarkan kebutuhan bisnis Anda.
Jika uji konektivitas jaringan berhasil, klik Next.
Langkah 3: Pilih tabel sumber dan konfigurasikan aturan pemetaan
Di bagian Basic Configurations, konfigurasikan parameter seperti Nama Solusi dan Lokasi Penyimpanan.
Di bagian Source, konfirmasikan informasi tentang sumber.
Di bagian Select Source Table for Synchronization, pilih tabel dari mana Anda ingin menyinkronkan data dalam daftar Source Table dan klik ikon
untuk memindahkan tabel yang dipilih ke daftar Selected Tables.Daftar Tabel Sumber menampilkan semua tabel dalam sumber. Anda dapat memilih semua atau tabel tertentu.
Di bagian Set Mapping Rules for Table/Database Names, klik Add rule, pilih jenis aturan, dan konfigurasikan aturan pemetaan jenis yang dipilih.
Secara default, data dalam tabel sumber ditulis ke tabel tujuan yang memiliki nama yang sama dengan tabel sumber. Jika tidak ada tabel tujuan yang memiliki nama yang sama dengan tabel sumber, sistem secara otomatis membuat tabel tujuan tersebut. Anda dapat menentukan nama tabel tujuan dalam aturan pemetaan untuk menyinkronkan data dalam beberapa tabel sumber ke tabel tujuan yang sama. Jenis aturan berikut didukung: Rule for Conversion Between Source Database Name and Destination Schema Name, Source table name and destination Table Name conversion rules, dan Rule for Destination Table Name.
Rule for Conversion Between Source Database Name and Destination Schema Name: Jenis aturan pemetaan ini memungkinkan Anda menggunakan ekspresi reguler untuk memetakan nama database sumber dengan awalan tertentu ke nama skema tujuan dengan awalan lain.
Jenis aturan pemetaan ini membentuk pemetaan berdasarkan nama database sumber. Nama skema tujuan yang diperoleh setelah pemetaan dapat direpresentasikan oleh variabel bawaan
${db_name_src_transed}dan digunakan saat Anda mengonfigurasi aturan pemetaan jenis Rule for Destination Table Name.Contoh: Sinkronkan data dari database sumber yang namanya dimulai dengan awalan
doc_ke skema tujuan yang namanya dimulai dengan awalanpre_.
Source table name and destination Table Name conversion rules: Jenis aturan pemetaan ini memungkinkan Anda menggunakan ekspresi reguler untuk memetakan nama tabel sumber dengan awalan tertentu ke nama tabel tujuan dengan awalan lain.
Contoh 1: Sinkronkan data dari tabel sumber yang namanya dimulai dengan awalan doc_ ke tabel tujuan yang namanya dimulai dengan awalan pre_.

Contoh 2: Sinkronkan data dari beberapa tabel sumber ke tabel tujuan yang sama.
Untuk menyinkronkan data dari table_01, table_02, dan table_03 ke my_table, Anda dapat mengonfigurasi aturan pemetaan jenis Aturan Konversi Nama Tabel Sumber dan Nama Tabel Tujuan, dan atur parameter Source ke table.* dan parameter Destination ke my_table.

Rule for Destination Table Name: Jenis aturan pemetaan ini memungkinkan Anda menggunakan variabel bawaan untuk menentukan nama tabel tujuan ke mana Anda ingin menulis data dan menambahkan awalan dan akhiran ke nama tabel tujuan. Variabel bawaan berikut didukung:
${db_table_name_src_transed}: nama tabel tujuan yang dipetakan berdasarkan aturan pemetaan jenis Source table name and destination Table Name conversion rules${db_name_src_transed}: nama skema tujuan yang dipetakan berdasarkan aturan pemetaan jenis Rule for Conversion Between Source Database Name and Destination Schema Name${ds_name_src}: nama sumber
Sebagai contoh, Anda dapat menentukan
pre_${db_table_name_src_transed}_postuntuk mengubah nama tabelmy_tableyang dihasilkan dalam contoh sebelumnya menjadipre_my_table_post.
Langkah 4: Konfigurasikan pengaturan terkait tabel tujuan
Konfigurasikan parameter Write Mode.
Anda hanya dapat mengatur parameter ini ke Penulisan Real-time ke Tabel Log. Dengan cara ini, data inkremental dalam tabel sumber ditulis ke tabel log MaxCompute. Kemudian, sistem menulis data inkremental dalam tabel log MaxCompute ke tabel dasar MaxCompute secara berkala untuk menggabungkan data penuh dan inkremental.
Konfigurasikan parameter Partisi Otomatis Berdasarkan Waktu.
Anda dapat mengatur parameter Automatic Partitioning by Time ke Partitioned Table atau Non-partitioned Table. Jika Anda mengatur parameter ini ke Tabel Terpartisi, Anda dapat menentukan kolom kunci partisi.
CatatanJika Anda mengatur parameter ini ke Tabel Terpartisi, Anda dapat mengklik ikon
untuk menentukan kolom kunci partisi.Konfigurasikan pemetaan antara tabel sumber dan tabel tujuan.
Klik Refresh Source table and MaxCompute table mapping untuk memetakan tabel sumber ke tabel MaxCompute tujuan berdasarkan aturan pemetaan yang Anda konfigurasikan di Langkah 3. Jika tidak ada aturan pemetaan yang dikonfigurasikan di Langkah 3, data dalam tabel sumber ditulis ke tabel MaxCompute yang dinamai sama dengan tabel sumber. Jika tidak ada tabel tersebut di tujuan, sistem secara otomatis membuat tabel tersebut di tujuan. Anda juga dapat menentukan apakah akan membuat tabel tujuan atau menggunakan tabel yang sudah ada. Anda juga dapat menambahkan bidang tambahan ke tabel tujuan.
CatatanSistem memetakan tabel sumber ke tabel tujuan berdasarkan aturan pemetaan yang Anda konfigurasikan di Step 3.
Operasi
Deskripsi
Pilih kunci utama untuk sinkronisasi
Tugas sinkronisasi yang dibuat dalam contoh ini tidak dapat digunakan untuk menyinkronkan data dari tabel sumber yang tidak memiliki kunci utama. Jika tabel sumber tidak memiliki kunci utama, Anda dapat mengklik ikon
di kolom Synchronized Primary Key tabel sumber untuk menentukan kunci utama untuk tabel sumber. Anda dapat menggunakan bidang atau kombinasi beberapa bidang dalam tabel sumber sebagai kunci utama. Sistem menghapus data duplikat berdasarkan kunci utama selama sinkronisasi data.Tentukan apakah akan membuat tabel tujuan atau menggunakan tabel yang sudah ada
Anda dapat memilih Create Table atau Use Existing Table dari daftar drop-down di kolom Metode Pembuatan Tabel.
Jika Anda memilih Use Existing Table dari daftar drop-down, semua tabel MaxCompute yang sudah ada akan ditampilkan di daftar drop-down di kolom MaxComputeBase Table Name. Anda harus memilih nama tabel yang ingin Anda gunakan dari daftar drop-down.
Jika Anda memilih Create Table dari daftar drop-down, nama tabel tujuan yang dibuat secara otomatis akan muncul di kolom Nama Tabel Dasar MaxCompute. Anda dapat mengklik nama tabel untuk melihat dan memodifikasi tipe data dan komentar bidang, serta siklus hidup tabel.
Tentukan apakah akan melakukan sinkronisasi penuh
Anda dapat menentukan apakah akan mengaktifkan sakelar di kolom Full Synchronization tabel sumber untuk menyinkronkan data penuh dalam tabel sumber ke tujuan sebelum sinkronisasi inkremental real-time dimulai.
Jika Anda mematikan sakelar, data penuh dalam tabel sumber tidak disinkronkan sebelum sinkronisasi inkremental real-time dimulai. Jika data penuh dalam tabel sumber sudah disinkronkan ke tujuan sekaligus, Anda dapat mematikan sakelar untuk tabel sumber tersebut.
Tambahkan bidang tambahan ke tabel tujuan dan tetapkan nilai ke bidang tersebut
Anda dapat mengklik Edit additional fields di kolom Tindakan tabel tujuan untuk menambahkan bidang tambahan ke tabel dan menetapkan nilai ke bidang tersebut. Anda dapat menetapkan konstanta dan variabel ke bidang tambahan sebagai nilai.
CatatanAnda hanya dapat menambahkan bidang tambahan ke tabel tujuan jika Create Table dipilih dari daftar drop-down di kolom Table creation method tabel tersebut.
Data Integration memungkinkan Anda menetapkan variabel berikut ke bidang tambahan sebagai nilai:
EXECUTE_TIME: waktu eksekusi UPDATE_TIME: waktu pembaruan DB_NAME_SRC: nama database sumber DB_NAME_SRC_TRANSED: nama database yang dipetakan DATASOURCE_NAME_SRC: nama sumber DATASOURCE_NAME_DEST: nama tujuan DB_NAME_DEST: nama database tujuan TABLE_NAME_DEST: nama tabel tujuan TABLE_NAME_SRC: nama tabel sumberModifikasi skema tabel tujuan
Secara default, siklus hidup tabel MaxCompute yang dibuat secara otomatis adalah 30 hari dan konversi tipe bidang mungkin terjadi. Sebagai contoh, jika tipe data bidang dalam tabel tujuan berbeda dari tipe data bidang dalam tabel sumber, tugas sinkronisasi secara otomatis memetakan bidang sumber ke bidang tujuan yang tipe datanya kompatibel dengan tipe data bidang sumber saat tugas sinkronisasi membuat tabel tujuan. Anda dapat mengklik nama tabel tujuan di kolom MaxComputeBaseTable Name untuk memodifikasi siklus hidup atau tipe bidang tabel.
CatatanAnda hanya dapat menambahkan bidang tambahan ke tabel tujuan jika Create Table dipilih dari daftar drop-down di kolom Table creation method tabel tersebut.
Setelah Anda menyelesaikan dan mengonfirmasi konfigurasi di langkah Set Tabel Tujuan, klik Next.
Langkah 5: Konfigurasikan aturan untuk memproses pesan DML
DataWorks memungkinkan Anda mengonfigurasi aturan pemrosesan DML tingkat tabel untuk beberapa tugas sinkronisasi. Anda dapat mengonfigurasi aturan pemrosesan untuk pesan yang dihasilkan untuk operasi INSERT, UPDATE, dan DELETE yang dilakukan pada tabel sumber.
Dukungan untuk menyinkronkan perubahan data yang dihasilkan oleh operasi DML bervariasi berdasarkan jenis tujuan. Anda dapat memeriksa apakah tugas sinkronisasi mendukung konfigurasi aturan pemrosesan DML saat Anda mengonfigurasi tugas sinkronisasi di konsol DataWorks. Untuk informasi lebih lanjut, lihat Operasi DML dan DDL yang Didukung.
Langkah 6: Konfigurasikan aturan untuk memproses pesan DDL
Operasi DDL mungkin dilakukan pada sumber. Data Integration menyediakan aturan default untuk memproses pesan DDL. Anda juga dapat mengonfigurasi aturan pemrosesan untuk pesan DDL yang berbeda berdasarkan kebutuhan bisnis Anda. Untuk informasi lebih lanjut, lihat Konfigurasikan Aturan Pemrosesan DDL.
Langkah 7: Konfigurasikan grup sumber daya yang diperlukan untuk menjalankan tugas sinkronisasi
Setelah Anda menjalankan tugas sinkronisasi yang dibuat dalam contoh ini, tugas sinkronisasi menghasilkan beberapa subtugas sinkronisasi batch yang digunakan untuk menyinkronkan data penuh dan subtugas sinkronisasi real-time yang digunakan untuk menyinkronkan data inkremental. Anda harus mengonfigurasi properti terkait subtugas sinkronisasi batch dan subtugas sinkronisasi real-time di langkah Configure Resource.
Properti tersebut mencakup grup sumber daya eksklusif untuk Data Integration yang diperlukan oleh sinkronisasi inkremental real-time dan sinkronisasi penuh batch, serta grup sumber daya untuk penjadwalan yang diperlukan oleh sinkronisasi penuh batch. Grup sumber daya bersama untuk penjadwalan tidak didukung. Anda juga dapat mengklik Advanced configuration secara terpisah di bagian Sinkronisasi Inkremental Real-time dan Sinkronisasi Penuh Batch dan mengonfigurasi parameter seperti Allow Dirty Data Records, Task Expected Maximum Concurrency, Maximum Number of Parallel Threads Allowed for Destination, dan Maximum Number of Connections Allowed for Source.
DataWorks menggunakan grup sumber daya untuk penjadwalan untuk mengeluarkan tugas sinkronisasi batch ke grup sumber daya untuk Data Integration dan menjalankan tugas pada grup sumber daya untuk Data Integration. Oleh karena itu, tugas sinkronisasi batch juga memakan sumber daya grup sumber daya untuk penjadwalan. Jika Anda menggunakan grup sumber daya eksklusif untuk penjadwalan, Anda akan dikenakan biaya untuk instance penjadwalan. Anda dapat membaca topik Ikhtisar untuk memahami mekanisme pengeluaran tugas.
Kami merekomendasikan agar Anda menggunakan grup sumber daya yang berbeda untuk menjalankan subtugas batch dan real-time yang dihasilkan. Jika Anda menggunakan grup sumber daya yang sama untuk menjalankan subtugas, subtugas tersebut akan bersaing untuk sumber daya dan memengaruhi satu sama lain. Sebagai contoh, sumber daya CPU, memori, dan jaringan yang digunakan oleh dua jenis subtugas tersebut mungkin saling memengaruhi. Dalam hal ini, subtugas sinkronisasi batch mungkin melambat, atau subtugas sinkronisasi real-time mungkin tertunda. Subtugas sinkronisasi batch atau real-time bahkan mungkin dihentikan oleh pembunuh out of memory (OOM) karena sumber daya yang tidak mencukupi.
Langkah 8: Jalankan tugas sinkronisasi
Pergi ke halaman Synchronization Task di Data Integration. Di bagian Tasks halaman Tugas Sinkronisasi, temukan tugas sinkronisasi yang telah dibuat.
Klik Submit and Run di kolom Operation untuk memulai tugas sinkronisasi.
Klik Description di kolom Execution Overview tugas sinkronisasi untuk melihat detail pelaksanaan tugas sinkronisasi.
Apa yang harus dilakukan selanjutnya
Setelah tugas sinkronisasi dikonfigurasi, Anda dapat mengelola tugas tersebut. Sebagai contoh, Anda dapat menambahkan tabel sumber ke tugas atau menghapus tabel sumber dari tugas, mengonfigurasi pengaturan pemantauan dan peringatan untuk tugas, dan melihat informasi tentang pelaksanaan subtugas. Untuk informasi lebih lanjut, lihat Lakukan O&M pada Tugas Sinkronisasi Penuh dan Inkremental.
Lampiran: Apa yang harus saya lakukan jika data gagal ditulis ke tabel dasar?
Proses Penggabungan Data | Deskripsi Masalah | Penyebab | Solusi |
| Tugas sinkronisasi dikonfigurasi pada hari T, dan data inkremental gagal ditulis ke partisi T-1 dalam tabel log MaxCompute. | Terjadi pengecualian saat subtugas sinkronisasi real-time dijalankan. |
|
Tugas sinkronisasi dikonfigurasi pada hari T, dan data penuh dan inkremental gagal ditulis ke partisi T-2 dalam tabel dasar MaxCompute. |
|
|

