Untuk konfigurasi detail halus pada tugas sinkronisasi batch, Anda dapat menggunakan Code Editor. Di Code Editor, Anda dapat menulis skrip JSON untuk sinkronisasi data dan memanfaatkan parameter penjadwalan DataWorks guna menyinkronkan data penuh atau inkremental secara berkala dari satu tabel sumber atau tabel terbagi (sharded tables) ke tabel data target. Topik ini menjelaskan konfigurasi umum untuk tugas semacam itu. Konfigurasi bervariasi tergantung pada sumber data yang digunakan. Untuk informasi selengkapnya, lihat daftar sumber data.
Skenario
Gunakan Code Editor untuk mengonfigurasi tugas sinkronisasi dalam skenario berikut:
-
Sumber data tidak mendukung konfigurasi melalui antarmuka tanpa kode.
CatatanAntarmuka pengguna akan menunjukkan apakah suatu sumber data mendukung antarmuka tanpa kode.
Sebagai contoh, jika Anda memilih HBase11xsql sebagai sumber data tujuan, pesan peringatan berwarna kuning akan muncul di halaman konfigurasi jaringan dan resource: "Jenis sumber data saat ini tidak mendukung pengeditan tugas di antarmuka tanpa kode. Tugas akan dikonfigurasi di Code Editor." Dalam kasus ini, klik tombol Code Editor di bilah alat untuk beralih mode dan mengonfigurasi tugas.
-
Beberapa parameter konfigurasi sumber data hanya tersedia di Code Editor.
-
Anda dapat menggunakan Code Editor untuk mengonfigurasi beberapa sumber data yang tidak dapat dibuat langsung di DataWorks.
Prasyarat
-
Pastikan sumber data asal dan tujuan yang diperlukan telah dikonfigurasi di bagian manajemen sumber data DataWorks. Untuk informasi selengkapnya, lihat Daftar sumber data.
Catatan-
Untuk informasi lebih lanjut tentang sumber data yang didukung oleh sinkronisasi batch dan konfigurasinya, lihat Sumber data yang didukung dan solusi sinkronisasi.
-
Untuk informasi lebih lanjut tentang fitur sumber data, lihat Konfigurasi sumber data.
-
Beli kelompok sumber daya dengan spesifikasi yang sesuai dan kaitkan dengan ruang kerja. Untuk informasi selengkapnya, lihat Gunakan kelompok sumber daya arsitektur tanpa server.
Buat koneksi jaringan antara kelompok sumber daya dan sumber data. Untuk informasi selengkapnya, lihat Konfigurasi konektivitas jaringan.
Langkah 1: Buat node sinkronisasi batch
Data Studio (versi baru)
Masuk ke Konsol DataWorks. Di panel navigasi sebelah kiri, pilih . Pilih ruang kerja yang diinginkan dari daftar drop-down dan klik <p><a href={url} target="_blank">Learn more.</a></p>Data Studio.
Buat alur kerja. Untuk informasi selengkapnya, lihat Alur kerja.
Buat node Integrasi Data dengan salah satu cara berikut:
Metode 1: Di pojok kanan atas daftar alur kerja, klik
, lalu pilih .Metode 2: Klik ganda nama alur kerja, lalu seret node Data Integration dari direktori Data Integration ke panel pengeditan alur kerja di sebelah kanan.
Konfigurasikan jenis sumber dan tujuan untuk node tersebut, pilih Single Table Batch Sync sebagai jenis spesifik, lalu klik OK untuk menyelesaikan pembuatan.
Data Studio versi lama
Masuk ke Konsol DataWorks. Di panel navigasi sebelah kiri, pilih . Pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Data Analytics.
Buat alur kerja. Untuk informasi selengkapnya, lihat Buat alur kerja.
Buat node sinkronisasi batch dengan salah satu cara berikut:
Metode 1: Perluas alur kerja, klik kanan .
Metode 2: Klik ganda nama alur kerja, lalu seret node Batch Synchronization dari direktori Data Integration ke panel pengeditan alur kerja di sebelah kanan.
Ikuti petunjuk di layar untuk membuat node sinkronisasi batch.
Langkah 2: Konfigurasi sumber data dan kelompok sumber daya
Anda dapat beralih dari antarmuka tanpa kode ke Code Editor kapan saja. Untuk skrip JSON yang sudah terisi lengkap, kami menyarankan Anda mengikuti urutan berikut:
-
Di antarmuka tanpa kode, pilih sumber data dan kelompok sumber daya, lalu uji konektivitas jaringan.
-
Beralih ke Code Editor.
Sistem secara otomatis mengisi skrip JSON yang dihasilkan dengan informasi ini.
Atau, Anda dapat langsung beralih dan mengonfigurasi tugas secara manual di Code Editor. Tentukan sumber data dalam kode JSON, dan di panel Advanced Settings di sebelah kanan, atur kelompok sumber daya dan ukuran sumber daya yang diperlukan untuk tugas tersebut.
-
Jika kelompok sumber daya yang telah Anda buat tidak muncul, periksa apakah kelompok tersebut telah dikaitkan dengan ruang kerja. Untuk informasi selengkapnya, lihat Gunakan kelompok sumber daya Serverless dan Gunakan grup sumber daya eksklusif untuk Integrasi Data.
-
Untuk kuota sumber daya yang direkomendasikan, lihat Metrik performa kelompok sumber daya Integrasi Data.
Langkah 3: Beralih ke Code Editor dan impor templat
Di bilah alat, klik ikon Code Editor
.
Jika skrip belum dikonfigurasi, Anda dapat mengklik ikon
di bilah alat untuk segera mengimpor templat skrip seperti yang diminta.
Langkah 4: Edit skrip dan konfigurasi tugas
Kode berikut menunjukkan konfigurasi umum di Code Editor:
-
Field type dan version memiliki nilai default dan tidak dapat diubah.
-
Anda dapat mengabaikan konfigurasi terkait Processor dalam skrip.
{
"type":"job",
"version":"2.0",
"steps":[
{
"stepType":"plugin_name",
"parameter":{...},
"name":"Reader",
"category":"reader"
},
{
"stepType":"plugin_name",
"parameter":{...},
"name":"Writer",
"category":"writer"
}
],
{
"name":"Processor",
"stepType":null,
"category":"processor",
"copies":1,
"parameter":{...}
},
"setting":{
"executeMode":null,
"errorLimit":{
"record":""
},
"speed":{
"concurrent":2,
"throttle":false
},
"timeZone":"Asia/Shanghai"
},
"order":{
"hops":[
{
"from":"Reader",
"to":"Writer"
}
]
}
}
-
Konfigurasikan informasi dasar dan pemetaan bidang untuk reader dan writer.
PentingKonfigurasi plugin bervariasi. Contoh berikut menjelaskan parameter umum. Untuk memeriksa apakah plugin mendukung konfigurasi tertentu dan cara menerapkannya, rujuk dokumentasi plugin tersebut. Untuk informasi selengkapnya, lihat Reader Script Demo dan Writer Script Demo untuk setiap sumber data dalam daftar sumber data.
Anda dapat menggunakan parameter berikut:
-
Reader
Aksi
Deskripsi
where (Konfigurasikan cakupan sinkronisasi)
Beberapa jenis sumber mendukung penyaringan data. Anda dapat menentukan kondisi (klausa
WHEREtanpa kata kunci where) untuk menyaring data sumber. Saat waktu proses, tugas hanya menyinkronkan data yang memenuhi kondisi tersebut. Untuk informasi selengkapnya, lihat Skenario: Konfigurasikan tugas sinkronisasi batch inkremental.Untuk menerapkan sinkronisasi inkremental, Anda dapat menggabungkan kondisi filter ini dengan parameter penjadwalan agar menjadi dinamis. Misalnya, dengan
gmt_create >= '${bizdate}', tugas hanya menyinkronkan data baru dari hari tersebut setiap kali dijalankan. Anda juga harus memberikan nilai variabel ini di properti penjadwalan. Untuk informasi selengkapnya, lihat Format parameter penjadwalan yang didukung.Metode konfigurasi sinkronisasi inkremental bervariasi tergantung sumber data (plugin).
Jika tidak ada kondisi penyaringan data yang dikonfigurasi, semua data dalam tabel akan disinkronkan secara default.
splitPk (Konfigurasikan kunci pemisahan untuk database relasional)
Menentukan bidang yang digunakan untuk membagi data sumber. Saat waktu proses, tugas sinkronisasi dibagi menjadi beberapa subtugas berdasarkan bidang ini untuk memungkinkan pembacaan data secara konkuren dan batch.
-
Kami menyarankan Anda menggunakan primary key tabel sebagai kunci pemisahan karena primary key biasanya terdistribusi merata, yang membantu mencegah hotspot data di tabel terbagi.
-
Saat ini,
splitPkhanya mendukung pemisahan data integer. Tidak mendukung string, bilangan titik mengambang, atau tanggal. Jika Anda menentukan tipe yang tidak didukung, Integrasi Data akan mengabaikan pengaturansplitPk, dan data disinkronkan dalam satu saluran. -
Jika Anda tidak menentukan kunci pemisahan atau nilainya kosong, data disinkronkan dalam satu saluran.
-
Tidak semua plugin mendukung penentuan kunci pemisahan untuk mengonfigurasi logika pemisahan tugas. Informasi di atas hanya sebagai contoh. Untuk informasi selengkapnya, rujuk dokumentasi plugin spesifik. Untuk informasi selengkapnya, lihat Sumber data yang didukung dan solusi sinkronisasi.
column (Tentukan bidang sumber)
Menentukan bidang sumber yang akan disinkronkan dalam array
column. Anda dapat menulis konstanta, variabel, dan fungsi sebagai bidang kustom ke tujuan. Contoh: '123', '${variable_name}', 'now()'. -
-
Writer
Aksi
Deskripsi
preSql & postSql (Konfigurasikan pernyataan yang dijalankan sebelum dan sesudah sinkronisasi)
Beberapa sumber data memungkinkan Anda menjalankan pernyataan SQL pada tujuan sebelum (pra-sinkronisasi) dan setelah (pasca-sinkronisasi) data ditulis.
Sebagai contoh, MySQL Writer mendukung
preSqldanpostSqluntuk menjalankan perintah sebelum atau sesudah menulis data. Anda dapat menggunakan pre-import statement (preSql) untuk membersihkan tabel dengan perintahtruncate table tablenamesebelum sinkronisasi dimulai.writeMode (Tentukan mode penulisan untuk konflik)
Konfigurasi ini bergantung pada fitur sumber data dan dukungan plugin writer.
-
-
Pengendalian saluran
Anda dapat mengonfigurasi pengaturan performa di bagian setting, termasuk konkurensi, laju sinkronisasi, dan penanganan data kotor.
Parameter
Deskripsi
executeMode (Kemampuan pemrosesan terdistribusi)
Mengontrol apakah tugas saat ini dijalankan dalam mode terdistribusi.
-
distribute: Mengaktifkan pemrosesan terdistribusi. Mode ini membagi tugas Anda menjadi shard dan mendistribusikannya ke beberapa node eksekusi untuk eksekusi konkuren. Hal ini memungkinkan kecepatan sinkronisasi meningkat secara horizontal seiring ukuran kluster, sehingga mengatasi bottleneck node tunggal.
-
null: Menonaktifkan pemrosesan terdistribusi. Dalam mode ini, konkurensi dibatasi pada proses di satu mesin, dan komputasi multi-mesin tidak dapat dimanfaatkan.
Penting-
Jika Anda menggunakan grup sumber daya eksklusif untuk Integrasi Data dengan hanya satu mesin, kami tidak menyarankan menggunakan mode terdistribusi karena tidak dapat memanfaatkan sumber daya multi-mesin.
-
Jika satu mesin sudah memenuhi kebutuhan kecepatan Anda, kami menyarankan menggunakan mode single-node untuk menyederhanakan eksekusi tugas.
-
Diperlukan konkurensi minimal 8 atau lebih untuk mengaktifkan pemrosesan terdistribusi.
-
Beberapa sumber data mendukung menjalankan tugas dalam mode terdistribusi. Untuk informasi selengkapnya, rujuk dokumentasi plugin spesifik.
-
Mengaktifkan pemrosesan terdistribusi mengonsumsi lebih banyak sumber daya. Jika terjadi error kehabisan memori (OOM) saat waktu proses, coba nonaktifkan sakelar ini.
concurrent (Konkurensi maksimum yang diharapkan)
Menentukan jumlah maksimum thread untuk pembacaan paralel dari sumber atau penulisan ke tujuan.
CatatanKarena spesifikasi sumber daya dan faktor lainnya, konkurensi aktual saat waktu proses mungkin kurang dari atau sama dengan nilai yang dikonfigurasi. Biaya untuk kelompok sumber daya debugging didasarkan pada konkurensi aktual. Untuk informasi selengkapnya, lihat Metrik performa.
throttle (Laju sinkronisasi)
Mengontrol laju sinkronisasi.
-
true: Mengaktifkan pembatasan kecepatan. Ini mencegah kecepatan ekstraksi tinggi membebani database sumber. Batas laju minimum adalah 1 MB/s.
CatatanSaat
throttlediatur ketrue, Anda juga harus mengatur parameter mbps (laju sinkronisasi). -
false: Menonaktifkan pembatasan kecepatan. Tanpa pembatasan, tugas menggunakan performa transfer maksimum yang tersedia dalam lingkungan perangkat keras dan batas konkurensi yang dikonfigurasi.
CatatanMetrik traffic bersifat internal pada Integrasi Data dan tidak merepresentasikan traffic kartu antarmuka jaringan (NIC) aktual. Biasanya, traffic NIC adalah 1 hingga 2 kali traffic saluran. Inflasi traffic aktual bergantung pada serialisasi sistem penyimpanan data spesifik.
errorLimit (Kontrol jumlah catatan data kotor)
Menentukan ambang batas untuk data kotor dan dampaknya terhadap tugas.
PentingJumlah data kotor yang berlebihan dapat mengurangi kecepatan sinkronisasi keseluruhan tugas.
-
Jika tidak dikonfigurasi, data kotor diizinkan secara default, dan keberadaannya tidak memengaruhi eksekusi tugas.
-
Jika diatur ke 0, tidak ada data kotor yang diizinkan. Jika terdapat data kotor selama sinkronisasi, tugas gagal dan keluar.
-
Saat data kotor diizinkan dan ambang batas ditetapkan:
-
Jika jumlah data kotor berada di bawah ambang batas, tugas sinkronisasi mengabaikan data kotor tersebut (tidak ditulis ke tujuan) dan terus berjalan.
-
Jika jumlah data kotor melebihi ambang batas, tugas sinkronisasi gagal dan keluar.
-
CatatanData kotor adalah data yang tidak berarti bagi bisnis Anda, memiliki format tidak valid, atau menyebabkan masalah selama sinkronisasi. Jika terjadi pengecualian saat satu catatan ditulis ke tujuan, catatan tersebut dianggap sebagai data kotor. Oleh karena itu, setiap catatan yang gagal ditulis diklasifikasikan sebagai data kotor.
Sebagai contoh, menulis data bertipe VARCHAR dari sumber ke kolom tujuan bertipe INT dapat menyebabkan error konversi, sehingga data gagal ditulis ke tujuan. Anda dapat mengontrol apakah data kotor diizinkan selama sinkronisasi dan menetapkan ambang batas jumlah catatan data kotor. Jika jumlahnya melebihi angka yang ditentukan, tugas gagal.
timeZone (Pengaturan zona waktu)
Mengatur zona waktu untuk tugas sinkronisasi. Parameter ini memengaruhi konversi bidang terkait waktu baik di sumber maupun tujuan.
Contoh konfigurasi:
"timeZone":"Asia/Shanghai".-
Parameter ini hanya dapat dikonfigurasi di bagian setting Code Editor. Antarmuka tanpa kode tidak mendukung pengaturan zona waktu untuk tujuan.
-
Nilai zona waktu menggunakan format zona waktu IANA standar, seperti
Asia/ShanghaiatauAmerica/New_York. -
Jika tidak dikonfigurasi, Integrasi Data menggunakan zona waktu default sistem.
CatatanSelain konfigurasi ini, kecepatan sinkronisasi keseluruhan juga dipengaruhi oleh faktor seperti performa sumber data asal dan lingkungan jaringan. Untuk informasi selengkapnya tentang laju sinkronisasi dan optimasi, lihat Optimalkan tugas sinkronisasi batch.
-
Langkah 5: Konfigurasi properti penjadwalan
Untuk tugas sinkronisasi batch tabel tunggal dengan penjadwalan berkala, Anda harus mengonfigurasi properti untuk penjadwalan otomatis. Buka halaman pengeditan node, klik Scheduling Settings di sisi kanan, lalu konfigurasikan pengaturan jadwal untuk node tersebut.
Anda harus mengonfigurasi parameter penjadwalan, kebijakan penjadwalan, waktu penjadwalan, dan dependensi untuk tugas sinkronisasi. Metode konfigurasinya sama dengan node pengembangan data lainnya dan tidak dijelaskan di sini.
Untuk pengaturan jadwal di Data Studio versi baru, lihat Penjadwalan node (versi baru).
Untuk pengaturan jadwal di Data Studio versi lama, lihat Penjadwalan node (versi lama).
Untuk informasi selengkapnya tentang penggunaan parameter penjadwalan, lihat Skenario khas parameter penjadwalan dalam Integrasi Data.
Langkah 6: Kirim dan publikasikan tugas
Konfigurasikan parameter run.
Di sisi kanan halaman konfigurasi tugas sinkronisasi batch tabel tunggal, klik Run Configuration dan konfigurasikan parameter berikut untuk test run.
Item konfigurasi
Deskripsi
Resource Group
Pilih kelompok sumber daya yang memiliki konektivitas jaringan dengan sumber data.
Script Parameters
Beri nilai pada parameter placeholder dalam tugas sinkronisasi data. Sebagai contoh, jika tugas Integrasi Data menggunakan parameter
${bizdate}, konfigurasikan parameter tanggal dalam formatyyyymmdd.Jalankan tugas.
Klik tombol
Run di bilah alat untuk menjalankan dan men-debug tugas di Data Studio. Anda kemudian dapat membuat node dengan jenis tabel tujuan yang sesuai untuk mengkueri data tabel tujuan dan memverifikasi apakah data yang disinkronkan sesuai harapan.Terapkan tugas.
Setelah tugas berhasil dalam test run, jika tugas perlu dijalankan secara berkala, klik tombol
di bagian atas halaman pengeditan node untuk menerapkan tugas ke lingkungan produksi. Untuk informasi selengkapnya tentang penerapan tugas, lihat Terapkan tugas.
Langkah berikutnya
Setelah tugas diterapkan ke lingkungan produksi, Anda dapat membuka Pusat Operasi di lingkungan produksi untuk melihat tugas terjadwal. Untuk informasi selengkapnya tentang menjalankan dan mengelola tugas Integrasi Data, memantau status tugas, dan mengelola kelompok sumber daya, lihat O&M tugas Integrasi Data.