DataWorks Data Integration menyediakan tugas sinkronisasi real-time tabel tunggal untuk replikasi dan transfer data berlatensi rendah serta throughput tinggi antar berbagai sumber data. Fitur ini menggunakan mesin komputasi real-time canggih untuk menangkap perubahan data (insert, delete, dan update) di sumber dan menerapkannya ke tujuan. Topik ini menjelaskan cara mengonfigurasi tugas tersebut dengan contoh sinkronisasi real-time tabel tunggal dari Kafka ke MaxCompute.
Persiapan
-
Siapkan sumber data
-
Buat sumber data dan tujuan data. Untuk informasi lebih lanjut tentang konfigurasi sumber data, lihat Manajemen Sumber Data.
-
Pastikan sumber data mendukung sinkronisasi real-time. Untuk informasi lebih lanjut, lihat Sumber data dan solusi sinkronisasi yang didukung.
-
Beberapa sumber data, seperti Hologres dan Oracle, mengharuskan Anda mengaktifkan logging. Metode pengaktifan log bervariasi tergantung pada sumber datanya. Untuk informasi lebih lanjut, lihat Daftar Sumber Data.
-
-
Kelompok sumber daya: Beli dan konfigurasikan kelompok sumber daya Serverless.
-
Konektivitas jaringan: Bangun konektivitas jaringan antara kelompok sumber daya dan sumber data.
Langkah 1: Buat tugas sinkronisasi
-
Masuk ke Konsol DataWorks. Di wilayah target, klik di panel navigasi kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Data Integration.
-
Di panel navigasi kiri, klik Synchronization Task. Di bagian atas halaman, klik Create Synchronization Task dan konfigurasikan informasi tugas. Contoh ini menggunakan sinkronisasi real-time dari Kafka ke MaxCompute:
-
Source Type:
Kafka. -
Destination Type:
MaxCompute. -
Specific Type:
Single-table real-time. -
Synchronization Mode:
-
Schema Migration: Secara otomatis membuat objek basis data seperti tabel, bidang, dan tipe data di tujuan yang sesuai dengan sumber. Langkah ini tidak mencakup data.
-
Incremental Sync (opsional): Setelah sinkronisasi penuh selesai, langkah ini terus-menerus menangkap perubahan data (insert, update, dan delete) dari sumber dan menyinkronkannya ke tujuan.
Jika sumbernya adalah Hologres, sinkronisasi penuh juga didukung. Proses ini pertama-tama menyinkronkan semua data yang ada ke tabel tujuan. Kemudian, sinkronisasi data inkremental dimulai secara otomatis.
-
-
Untuk informasi lebih lanjut tentang sumber data dan solusi sinkronisasi yang didukung, lihat Sumber data dan solusi sinkronisasi yang didukung.
Langkah 2: Konfigurasi sumber data dan sumber daya eksekusi
-
Untuk Source Information, pilih sumber data
KafkaAnda. Untuk Destination, pilih sumber dataMaxComputeAnda. -
Di bagian Running Resources, pilih Resource Group untuk tugas sinkronisasi dan tetapkan Resource Group CUs ke tugas tersebut. Anda dapat mengatur CUs secara terpisah untuk sinkronisasi penuh dan sinkronisasi inkremental guna mengontrol sumber daya secara tepat dan mencegah pemborosan. Jika tugas sinkronisasi Anda gagal karena error out-of-memory (OOM), tingkatkan nilai CU untuk kelompok sumber daya tersebut.
-
Pastikan kedua sumber data dan tujuan data lulus Connectivity Check.
Langkah 3: Konfigurasi solusi sinkronisasi
1. Konfigurasi sumber
-
Di tab Configuration, pilih topik Kafka yang akan disinkronkan.
Anda dapat menggunakan nilai default untuk konfigurasi lain atau memodifikasinya sesuai kebutuhan. Untuk informasi lebih lanjut tentang parameter tersebut, lihat dokumentasi resmi Kafka .
-
Di pojok kanan atas, klik Data Sampling.
Di kotak dialog yang muncul, atur Start time dan Sampled Data Records, lalu klik Start Collection. Tindakan ini mengambil sampel data dari topik Kafka yang ditentukan. Anda dapat melihat pratinjau data tersebut, yang menjadi masukan untuk konfigurasi pratinjau dan visualisasi pada node pemrosesan data selanjutnya.
-
Di tab Configure Output Field, pilih bidang yang akan disinkronkan.
Secara default, Kafka menyediakan enam bidang.
Field Name
Description
__key__
Kunci dari record Kafka.
__value__
Nilai dari record Kafka.
__partition__
Nomor partisi tempat record Kafka berada. Nomor partisi adalah bilangan bulat yang dimulai dari 0.
__headers__
Header dari record Kafka.
__offset__
Offset dari record Kafka dalam partisinya. Offset adalah bilangan bulat yang dimulai dari 0.
__timestamp__
Stempel waktu UNIX 13 digit dalam milidetik untuk record Kafka.
Anda juga dapat melakukan transformasi bidang lebih lanjut di node pemrosesan data selanjutnya.
2. Pemrosesan data
Aktifkan toggle Data Processing. Tersedia lima metode pemrosesan data: data masking, string replace, data filtering, JSON parsing, dan edit and assign fields. Anda dapat mengatur urutan metode ini sesuai preferensi. Saat runtime, metode tersebut dieksekusi secara berurutan.
Setelah mengonfigurasi node pemrosesan data, Anda dapat mengklik Preview Data Output di pojok kanan atas:
-
Tabel di bawah data masukan menampilkan hasil dari langkah Data Sampling sebelumnya. Anda dapat mengklik Re-obtain Output of Ancestor Node untuk memperbarui hasilnya.
-
Jika tidak ada output dari node hulu, Anda juga dapat menggunakan Manually Construct Data untuk mensimulasikan output sebelumnya.
-
Klik Preview untuk melihat data keluaran dari langkah hulu setelah diproses oleh komponen pemrosesan data.
Tabel Input Data menampilkan bidang pesan Kafka seperti key, value, partition, offset, dan timestamp. Bagian Preview Result menunjukkan bidang yang telah diurai setelah pemrosesan data, seperti pasangan kunci-nilai dari penguraian JSON. Bagian ini juga menunjukkan jumlah catatan data kotor yang ditemukan dan mencantumkan pernyataan: "Pratinjau yang ditampilkan di sini hanya sebagai referensi. Hasil eksekusi tugas aktual yang berlaku."
Fitur pratinjau output data dan pemrosesan data bergantung pada Data Sampling dari sumber Kafka. Sebelum memproses data, Anda harus terlebih dahulu melakukan pengambilan sampel data untuk sumber Kafka.
3. Konfigurasi tujuan
-
Di bagian Destination, pilih kelompok sumber daya Tunnel. Pilihan default adalah "Public Transport Resources", yang sesuai dengan kuota gratis untuk MaxCompute.
-
Tentukan apakah akan menulis ke tabel baru atau menggunakan tabel yang sudah ada.
-
Jika Anda membuat tabel baru, Anda dapat memilih Create dari daftar drop-down. Secara default, tabel dengan struktur yang sama dengan sumber dibuat secara otomatis. Anda dapat mengubah nama dan skema tabel tujuan secara manual.
-
Jika Anda memilih menggunakan tabel yang sudah ada, pilih tabel tujuan dari daftar drop-down.
-
-
(Opsional) Edit skema tabel.
Klik ikon edit di samping nama tabel untuk memodifikasi skemanya. Anda dapat mengklik Re-generate Table Schema Based on Output Column of Ancestor Node untuk menghasilkan skema secara otomatis berdasarkan kolom output dari node hulu. Anda kemudian dapat memilih kolom dalam skema yang dihasilkan secara otomatis sebagai kunci utama.
4. Konfigurasi pemetaan bidang
Setelah memilih sumber dan tujuan, Anda harus menentukan pemetaan antara kolom sumber dan kolom tujuan. Tugas tersebut menulis data dari bidang sumber ke bidang tujuan yang sesuai berdasarkan pemetaan bidang yang dikonfigurasi.
-
Sistem secara otomatis memetakan kolom hulu ke kolom tujuan berdasarkan prinsip The same name mapping. Anda dapat menyesuaikan pemetaan tersebut sesuai kebutuhan. Satu kolom hulu dapat dipetakan ke beberapa kolom tujuan, tetapi beberapa kolom hulu tidak dapat dipetakan ke satu kolom tujuan. Jika kolom hulu tidak dipetakan, datanya tidak ditulis ke tabel tujuan.
-
Untuk bidang Kafka, Anda dapat mengonfigurasi penguraian JSON kustom. Gunakan komponen pemrosesan data untuk mengambil konten bidang value guna konfigurasi bidang yang lebih detail.
Di bagian pemetaan bidang, klik Map by Same Name untuk membuat korespondensi satu-ke-satu antara bidang input hulu dan bidang output MaxCompute. Pemetaan ini mencakup bidang metadata Kafka (
_key_,_value_,_partition_,_offset_,_timestamp_, dan_headers_) dan bidang bisnis (id,name, danage). Bidang tipe LONG dipetakan ke tipe BIGINT di MaxCompute, sedangkan tipe STRING tetap tidak berubah. -
(Opsional) Konfigurasi partisi.
-
Automatic Time-based Partitioning membuat partisi berdasarkan waktu bisnis (dalam kasus ini, bidang _timestamp). Partisi tingkat pertama berdasarkan tahun, partisi tingkat kedua berdasarkan bulan, dan seterusnya.
-
Dynamic Partitioning by Field Content memetakan bidang dari tabel sumber ke bidang partisi di tabel MaxCompute tujuan. Hal ini memastikan bahwa baris yang berisi data tertentu di bidang sumber ditulis ke partisi yang sesuai di tabel MaxCompute.
-
Langkah 4: Konfigurasi lanjutan
Tugas sinkronisasi menyediakan parameter lanjutan untuk konfigurasi detail halus. Sistem menyediakan nilai default yang umumnya tidak perlu diubah. Untuk memodifikasinya:
-
Di pojok kanan atas halaman, klik Advanced Settings untuk membuka halaman konfigurasi Advanced Parameters.
CatatanDi Data Development, konfigurasi lanjutan berada di tab di sisi kanan halaman konfigurasi tugas.
-
Anda dapat mengatur parameter secara terpisah untuk ujung baca dan tulis tugas sinkronisasi. Atur Automatically set runtime configuration ke false untuk menyesuaikan Runtime Configuration.
-
Ubah nilai parameter berdasarkan tooltip. Deskripsi setiap parameter ditampilkan di samping namanya. Untuk saran konfigurasi beberapa parameter, lihat Parameter lanjutan untuk sinkronisasi real-time.
Ubah parameter ini hanya setelah Anda benar-benar memahami tujuan dan konsekuensi potensialnya. Pengaturan yang salah dapat menyebabkan error tak terduga atau masalah kualitas data.
Langkah 5: Uji coba
Setelah menyelesaikan semua konfigurasi tugas, klik Perform Simulated Running di pojok kiri bawah untuk men-debug tugas. Ini mensimulasikan cara tugas memproses sejumlah kecil data sampel dan memungkinkan Anda melihat pratinjau hasilnya di tabel tujuan. Jika terdapat kesalahan konfigurasi, pengecualian, atau data kotor, sistem memberikan umpan balik secara real-time. Hal ini membantu Anda dengan cepat mengevaluasi kebenaran konfigurasi tugas dan memverifikasi apakah tugas tersebut menghasilkan hasil yang diharapkan.
-
Di kotak dialog yang muncul, atur parameter pengambilan sampel: Start time dan Sampled Data Records.
-
Klik Start Collection untuk mengambil data sampel.
-
Klik Preview Result untuk mensimulasikan eksekusi tugas dan melihat outputnya.
Output dari uji coba hanya untuk pratinjau. Data tersebut tidak ditulis ke sumber data tujuan dan tidak memengaruhi data produksi.
Langkah 6: Publikasikan dan jalankan
-
Setelah menyelesaikan semua konfigurasi, klik Save di bagian bawah halaman untuk menyimpan konfigurasi tugas.
-
Anda harus mempublikasikan tugas Data Integration ke lingkungan produksi agar dapat dijalankan. Setiap tugas baru atau yang telah diedit harus Deploy agar berlaku. Selama penerapan, jika Anda memilih Start immediately after deployment, tugas akan dimulai secara otomatis. Jika tidak, setelah tugas dipublikasikan, buka halaman dan mulai tugas secara manual dari kolom Actions.
-
Di Tasks, klik Name/ID tugas untuk melihat proses eksekusinya secara detail.
Langkah 7: Konfigurasi aturan peringatan
Setelah tugas dipublikasikan dan berjalan, Anda dapat mengonfigurasi aturan peringatan untuk menerima notifikasi segera tentang pengecualian. Hal ini membantu menjaga stabilitas lingkungan produksi dan kesegaran data Anda. Di daftar tugas Data Integration, temukan tugas target, lalu di kolom Actions, klik .
1. Tambahkan peringatan
Pilih Use custom rules, lalu masukkan Alert Name dan Description. Metode notifikasi yang didukung meliputi Email, SMS, Phone, DingTalk, webhook, dan Feishu. Anda dapat mengonfigurasi metode ini secara independen untuk level WARNING dan CRITICAL. Penerima dapat ditentukan melalui on-call schedule atau ditambahkan secara manual.
(1) Klik Create Rule untuk mengonfigurasi aturan peringatan.
Anda dapat mengatur Alert Reason untuk memantau metrik seperti Business delay, failover, Task status, DDL Notification, dan Task Resource Utilization. Anda kemudian dapat menetapkan level peringatan CRITICAL atau WARNING berdasarkan ambang batas yang ditentukan.
-
Setelah mengatur metode peringatan, Anda dapat menggunakan Configure Advanced Parameters untuk mengontrol interval pengiriman notifikasi peringatan, yang mencegah pembanjiran pesan dan pemborosan.
-
Jika Anda memilih Business delay, Task status, atau Task Resource Utilization sebagai penyebab peringatan, Anda juga dapat mengaktifkan notifikasi pemulihan untuk memberi tahu penerima saat tugas kembali normal.
(2) Kelola aturan peringatan.
Untuk aturan peringatan yang sudah ada, Anda dapat menggunakan toggle untuk mengaktifkan atau menonaktifkannya. Anda juga dapat mengirim peringatan ke personel yang berbeda berdasarkan level peringatan.
2. Lihat peringatan
Di daftar tugas, perluas untuk membuka halaman event peringatan dan melihat riwayat peringatan.
Operasi tambahan
Setelah tugas dimulai, Anda dapat mengklik nama tugas untuk melihat detail eksekusinya dan melakukan operasi dan pemeliharaan (O&M) serta tuning tugas.
FAQ
Untuk jawaban atas pertanyaan umum mengenai tugas sinkronisasi real-time, lihat FAQ sinkronisasi real-time.
Referensi
Sinkronisasi real-time tabel tunggal dari Kafka ke ApsaraDB for OceanBase
Ingesti real-time tabel tunggal dari LogHub (SLS) ke Data Lake Formation
Sinkronisasi real-time tabel tunggal dari Hologres ke Doris
Sinkronisasi real-time tabel tunggal dari Hologres ke Hologres
Sinkronisasi real-time tabel tunggal dari Kafka ke Hologres
Sinkronisasi real-time tabel tunggal dari LogHub (SLS) ke Hologres
Sinkronisasi real-time tabel tunggal dari Kafka ke Hologres
Sinkronisasi real-time tabel tunggal dari Hologres ke Kafka
Sinkronisasi real-time tabel tunggal dari LogHub (SLS) ke MaxCompute
Sinkronisasi real-time tabel tunggal dari Kafka ke data lake OSS
Sinkronisasi real-time tabel tunggal dari Kafka ke StarRocks
Sinkronisasi real-time tabel tunggal dari Oracle ke Tablestore