Untuk kontrol yang lebih detail terhadap konfigurasi tugas offline, Anda dapat menggunakan Code Editor. Di editor kode, Anda dapat menulis skrip JSON untuk sinkronisasi data dan menggunakan parameter penjadwalan DataWorks guna menyinkronkan secara berkala data lengkap atau inkremental dari satu tabel sumber atau tabel ter-shard ke tabel tujuan. Topik ini menjelaskan konfigurasi umum untuk tugas sinkronisasi offline di editor kode. Konfigurasi bervariasi berdasarkan sumber data. Untuk informasi selengkapnya, lihat detail konfigurasi untuk setiap sumber data di Daftar sumber data.
Skenario
Anda dapat menggunakan editor kode untuk mengonfigurasi tugas sinkronisasi dalam skenario berikut:
Sumber data tidak mendukung konfigurasi di Antarmuka tanpa kode.
CatatanAntarmuka pengguna akan menunjukkan apakah sumber data mendukung Antarmuka tanpa kode.

Beberapa parameter konfigurasi untuk sumber data hanya tersedia di editor kode.
Anda dapat menggunakan editor kode untuk mengonfigurasi sumber data yang tidak dapat dibuat di antarmuka pengguna DataWorks.
Persiapan
Sumber data dan tujuan yang diperlukan telah dikonfigurasi. Sebelum mengatur tugas sinkronisasi Data Integration, Anda harus mengonfigurasi database sumber dan tujuan yang diperlukan di halaman Sumber Data pada konsol DataWorks. Untuk informasi selengkapnya, lihat Daftar sumber data.
CatatanUntuk informasi selengkapnya tentang sumber data yang didukung oleh sinkronisasi offline dan konfigurasinya, lihat Sumber data yang didukung dan solusi sinkronisasi.
Untuk informasi selengkapnya tentang fitur-fitur sumber data, lihat Konfigurasi Sumber Data.
Beli kelompok sumber daya dengan spesifikasi yang sesuai dan sambungkan ke ruang kerja. Untuk informasi selengkapnya, lihat Menggunakan kelompok sumber daya Serverless untuk Data Integration dan Menggunakan grup sumber daya eksklusif untuk Integrasi Data.
Buat koneksi jaringan antara kelompok sumber daya dan sumber data. Untuk informasi selengkapnya, lihat Mengonfigurasi koneksi jaringan.
Langkah 1: Membuat node sinkronisasi offline
Pengembangan Data Baru
Masuk ke konsol DataWorks. Beralih ke Wilayah tujuan. Di panel navigasi sebelah kiri, pilih . Pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Enter Data Development.
Buat alur kerja. Untuk informasi selengkapnya, lihat Mengatur alur kerja.
Buat node sinkronisasi batch. Anda dapat menggunakan salah satu metode berikut:
Metode 1: Klik ikon
di pojok kanan atas daftar alur kerja dan pilih .Metode 2: Klik ganda nama alur kerja dan seret node Batch Synchronization dari direktori Data Integration ke editor alur kerja di sebelah kanan.
Konfigurasikan informasi dasar, sumber, dan tujuan untuk node tersebut. Lalu, klik Confirm.
Pengembangan Data Sebelumnya
Masuk ke konsol DataWorks. Beralih ke Wilayah tujuan. Di panel navigasi sebelah kiri, klik . Pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Enter Data Development.
Buat alur kerja. Untuk informasi selengkapnya, lihat Membuat alur kerja.
Buat node sinkronisasi batch. Anda dapat menggunakan salah satu metode berikut:
Metode 1: Perluas alur kerja, klik kanan Data Integration, lalu pilih .
Metode 2: Klik ganda nama alur kerja dan seret node Batch Synchronization dari direktori Data Integration ke editor alur kerja di sebelah kanan.
Buat node sinkronisasi batch sesuai petunjuk.
Langkah 2: Mengonfigurasi sumber data dan kelompok sumber daya
Anda dapat beralih dari Antarmuka tanpa kode ke editor kode kapan saja. Namun, untuk memastikan skrip dikonfigurasi sepenuhnya, kami menyarankan Anda melakukan langkah-langkah berikut:
Pertama, pilih sumber data dan kelompok sumber daya di Antarmuka tanpa kode dan uji konektivitas jaringan.
Kemudian, beralih ke editor kode.
Sistem secara otomatis mengisi skrip JSON yang dihasilkan dengan informasi ini.
Sebagai alternatif, Anda dapat langsung beralih ke editor kode lalu mengonfigurasi pengaturan secara manual. Untuk melakukannya, tentukan sumber data dalam kode JSON, dan atur kelompok sumber daya serta sumber daya yang diperlukan untuk tugas tersebut di panel Advanced Configuration di sebelah kanan.
Jika Anda telah membuat kelompok sumber daya tetapi tidak ditampilkan, periksa apakah kelompok sumber daya tersebut telah disambungkan ke ruang kerja. Untuk informasi selengkapnya, lihat Menggunakan kelompok sumber daya Serverless dan Menggunakan grup sumber daya eksklusif untuk Integrasi Data.
Untuk informasi selengkapnya tentang kuota sumber daya yang direkomendasikan, lihat Metrik performa kelompok sumber daya - Data Integration.
Langkah 3: Beralih ke editor kode dan impor templat
Di bilah alat, klik ikon Konversi ke Skrip
.

Jika skrip belum dikonfigurasi, klik ikon Impor Templat
di bilah alat dan ikuti petunjuk di layar untuk mengimpor templat skrip.
Langkah 4: Edit skrip untuk mengonfigurasi tugas sinkronisasi
Bagian berikut menjelaskan konfigurasi umum di editor kode:
Field `type` dan `version` memiliki nilai default dan tidak dapat diubah.
Anda dapat mengabaikan konfigurasi terkait prosesor dalam skrip karena Anda tidak perlu mengonfigurasinya.

Konfigurasikan informasi dasar dan pemetaan bidang untuk reader dan writer.
PentingKonfigurasi bervariasi berdasarkan plugin. Konten berikut memberikan contoh konfigurasi umum. Untuk memeriksa apakah plugin mendukung konfigurasi tertentu dan cara mengonfigurasinya, lihat dokumentasi untuk plugin tersebut. Untuk informasi selengkapnya, lihat bagian Contoh Skrip Reader dan Contoh Skrip Writer untuk setiap sumber data di Daftar sumber data.
Anda dapat menggunakan parameter konfigurasi untuk melakukan operasi berikut:
Reader
Operasi
Deskripsi
where (Mengonfigurasi 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: Mengonfigurasi tugas sinkronisasi batch untuk data inkremental.Untuk melakukan 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 perlu memberikan nilai pada variabel yang didefinisikan di sini saat mengonfigurasi properti penjadwalan. Untuk informasi selengkapnya, lihat Format parameter penjadwalan yang didukung.Metode untuk mengonfigurasi sinkronisasi inkremental bervariasi berdasarkan sumber data (plugin).
Jika Anda tidak mengonfigurasi kondisi filter, tugas secara default menyinkronkan semua data dari tabel.
splitPk (Mengonfigurasi kunci shard untuk database relasional)
Menentukan bidang dalam data sumber berdasarkan mana data dibagi. Selama eksekusi tugas, data dibagi menjadi beberapa tugas berdasarkan bidang ini untuk pembacaan data secara konkuren dan batch.
Kami menyarankan Anda menggunakan kunci primer tabel untuk `splitPk` karena kunci primer biasanya terdistribusi merata. Hal ini membantu mencegah hot spot data pada shard yang dihasilkan.
Saat ini, `splitPk` hanya mendukung pemisahan untuk data integer. Tidak mendukung string, bilangan titik mengambang, tanggal, atau tipe data lainnya. Jika Anda menentukan tipe yang tidak didukung, fitur `splitPk` diabaikan, dan satu saluran digunakan untuk sinkronisasi.
Jika Anda tidak menentukan `splitPk`, atau nilainya kosong, data disinkronkan melalui satu saluran.
Tidak semua plugin mendukung penentuan kunci shard untuk mengonfigurasi logika pemisahan tugas. Informasi di atas hanya sebagai referensi. Untuk informasi selengkapnya, lihat dokumentasi untuk plugin spesifik. Untuk informasi selengkapnya, lihat Sumber data yang didukung dan solusi sinkronisasi.
column (Menentukan bidang sumber)
Dalam array `column`, tentukan bidang sumber yang akan disinkronkan. Anda dapat menggunakan konstanta, variabel, dan fungsi sebagai bidang kustom untuk ditulis ke tujuan. Contohnya termasuk '123', '${variable_name}', dan 'now()'.
Writer
Operasi
Deskripsi
preSql dan postSql (Mengonfigurasi pernyataan yang dieksekusi sebelum dan sesudah sinkronisasi)
Beberapa sumber data mendukung eksekusi pernyataan SQL pada tujuan sebelum (pra-sinkronisasi) dan sesudah (pasca-sinkronisasi) data ditulis.
Misalnya, dalam item konfigurasi Pre-import Statements (preSql) untuk MySQL Writer, Anda dapat mengonfigurasi perintah
truncate table tablenameuntuk menghapus data yang ada dari tabel sebelum tugas sinkronisasi dimulai.writeMode (Menentukan mode penulisan untuk menangani konflik)
Parameter ini menentukan cara menulis data ke tujuan ketika terjadi konflik, seperti konflik path atau kunci primer. Konfigurasi ini bervariasi berdasarkan sumber data dan plugin writer. Anda harus mengonfigurasi parameter ini sesuai dengan persyaratan plugin writer spesifik.
Kontrol saluran.
Anda dapat mengonfigurasi pengaturan performa, seperti konkurensi, laju sinkronisasi, dan penanganan data kotor, di bagian setting.
Parameter
Deskripsi
executeMode (Kemampuan pemrosesan terdistribusi)
Mengontrol apakah akan mengaktifkan mode terdistribusi untuk tugas saat ini.
`distribute`: Mengaktifkan pemrosesan terdistribusi. Mode eksekusi terdistribusi dapat membagi tugas Anda menjadi shard dan mendistribusikannya ke beberapa node eksekusi untuk eksekusi konkuren. Hal ini memungkinkan kecepatan sinkronisasi meningkat secara horizontal seiring dengan ukuran kluster eksekusi, sehingga mengatasi bottleneck pada node tunggal.
`null`: Menonaktifkan pemrosesan terdistribusi. Konkurensi yang dikonfigurasi dibatasi pada proses di satu mesin dan tidak dapat memanfaatkan daya komputasi beberapa mesin.
PentingJika Anda menggunakan grup sumber daya eksklusif untuk Data Integration dengan hanya satu mesin, kami tidak menyarankan menggunakan mode terdistribusi karena tidak dapat memanfaatkan sumber daya multi-mesin.
Jika satu mesin memenuhi kebutuhan kecepatan Anda, kami menyarankan menggunakan mode node tunggal untuk menyederhanakan eksekusi tugas.
Diperlukan konkurensi minimal 8 atau lebih untuk mengaktifkan pemrosesan terdistribusi.
Beberapa sumber data mendukung mode eksekusi terdistribusi. Untuk informasi selengkapnya, lihat dokumentasi untuk plugin spesifik.
Mengaktifkan pemrosesan terdistribusi mengonsumsi lebih banyak sumber daya. Jika terjadi kesalahan kehabisan memori (OOM) saat waktu proses, coba nonaktifkan sakelar ini.
concurrent (Konkurensi maksimum untuk tugas)
Menentukan jumlah maksimum thread untuk tugas saat ini dalam membaca dari sumber atau menulis ke tujuan secara paralel.
CatatanKarena faktor-faktor seperti spesifikasi sumber daya, konkurensi aktual saat waktu proses mungkin kurang dari atau sama dengan nilai yang dikonfigurasi. Biaya untuk kelompok sumber daya uji didasarkan pada konkurensi aktual. Untuk informasi selengkapnya, lihat: Metrik performa.
throttle (Laju sinkronisasi)
Mengontrol laju sinkronisasi.
`true`: Mengaktifkan pengendalian aliran. Ini melindungi database sumber dengan mencegah kecepatan ekstraksi yang terlalu tinggi memberikan tekanan berlebihan padanya. Laju pengendalian aliran minimum adalah 1 MB/detik.
CatatanKetika `throttle` diatur ke `true`, Anda juga harus mengatur parameter mbps (laju sinkronisasi).
`false`: Menonaktifkan pengendalian aliran. Tanpa pengendalian aliran, tugas menggunakan performa transfer maksimum yang tersedia di lingkungan perangkat keras saat ini, dalam batas konkurensi yang dikonfigurasi.
CatatanUkuran lalu lintas adalah metrik dari Data Integration itu sendiri dan tidak mewakili lalu lintas network interface card (NIC) yang sebenarnya. Biasanya, lalu lintas NIC adalah 1 hingga 2 kali lalu lintas saluran. Inflasi lalu lintas aktual tergantung pada serialisasi transfer sistem penyimpanan data.
errorLimit (Kontrol catatan kesalahan)
Menentukan ambang batas untuk data kotor dan dampaknya terhadap tugas.
PentingJumlah data kotor yang berlebihan dapat memengaruhi kecepatan sinkronisasi keseluruhan tugas.
Jika tidak dikonfigurasi, data kotor diizinkan secara default. Artinya, tugas tetap berjalan meskipun data kotor dihasilkan.
Jika diatur ke 0, tidak ada data kotor yang diizinkan. Jika data kotor dihasilkan selama sinkronisasi, tugas gagal.
Jika Anda mengizinkan data kotor dan menetapkan ambang batas:
Jika jumlah data kotor berada dalam ambang batas, tugas sinkronisasi mengabaikan data kotor tersebut (tidak ditulis ke tujuan) dan berjalan normal.
Jika jumlah data kotor melebihi ambang batas, tugas sinkronisasi gagal.
CatatanData kotor adalah data yang tidak berarti bagi bisnis, memiliki format tidak valid, atau menyebabkan masalah selama sinkronisasi. Suatu catatan dianggap sebagai data kotor jika terjadi pengecualian saat ditulis ke sumber data tujuan. Oleh karena itu, semua data yang gagal ditulis diklasifikasikan sebagai data kotor.
Misalnya, jika data bertipe VARCHAR dari sumber ditulis ke kolom tujuan bertipe INT, data tersebut tidak dapat berhasil ditulis ke tujuan karena konversi tidak valid, sehingga menghasilkan data kotor. Saat Anda mengonfigurasi tugas sinkronisasi, Anda dapat mengontrol apakah data kotor diizinkan dan menetapkan ambang batas. Jika jumlah catatan data kotor melebihi ambang batas yang ditentukan, tugas gagal.
CatatanSelain konfigurasi di atas, kecepatan sinkronisasi keseluruhan juga dipengaruhi oleh faktor-faktor seperti performa sumber data sumber dan lingkungan jaringan. Untuk informasi selengkapnya tentang cara mengoptimalkan kecepatan sinkronisasi, lihat Mengoptimalkan tugas sinkronisasi offline.
Langkah 5: Mengonfigurasi properti penjadwalan
Untuk tugas sinkronisasi batch yang dijadwalkan secara berkala, Anda perlu mengonfigurasi properti penjadwalannya. Di halaman edit node, klik Scheduling Configuration di sebelah kanan untuk mengonfigurasinya.
Anda harus mengonfigurasi parameter penjadwalan, kebijakan penjadwalan, waktu penjadwalan, dan dependensi penjadwalan untuk tugas sinkronisasi tersebut. Proses konfigurasi sama seperti node pengembangan data lainnya dan tidak dijelaskan dalam topik ini.
Untuk informasi tentang konfigurasi penjadwalan di Pengembangan Data versi baru, lihat Penjadwalan node (versi baru).
Untuk informasi tentang konfigurasi penjadwalan di Pengembangan Data versi sebelumnya, lihat Konfigurasi penjadwalan node (versi sebelumnya).
Untuk informasi selengkapnya tentang cara menggunakan parameter penjadwalan, lihat Skenario umum parameter penjadwalan di Data Integration.
Langkah 6: Kirim dan publikasikan tugas
Konfigurasikan parameter uji.
Di halaman konfigurasi tugas sinkronisasi batch, Anda dapat mengklik Test Configuration di sebelah kanan dan mengonfigurasi parameter berikut untuk menjalankan pengujian.
Item konfigurasi
Deskripsi
Resource Group
Pilih kelompok sumber daya yang terhubung ke sumber data.
Script Parameters
Berikan nilai pada parameter placeholder dalam tugas sinkronisasi data. Misalnya, jika tugas dikonfigurasi dengan parameter
${bizdate}, Anda perlu mengonfigurasi parameter tanggal dalam formatyyyymmdd.Jalankan tugas.
Klik ikon
Jalankan di bilah alat untuk menjalankan dan menguji tugas di Pengembangan Data. Setelah tugas dijalankan, Anda dapat membuat node bertipe tabel tujuan untuk mengkueri data tabel tujuan dan memeriksa apakah data yang disinkronkan sesuai harapan Anda.Publikasikan tugas.
Setelah tugas berhasil dijalankan, jika perlu dijadwalkan secara berkala, klik ikon
di bilah alat halaman konfigurasi node untuk mempublikasikan tugas ke lingkungan produksi. Untuk informasi selengkapnya tentang cara mempublikasikan tugas, lihat Publikasikan tugas.
Langkah selanjutnya
Setelah tugas dipublikasikan ke lingkungan produksi, Anda dapat membuka Pusat Operasi di lingkungan produksi untuk melihat tugas terjadwal tersebut. Untuk informasi selengkapnya tentang cara menjalankan dan mengelola tugas sinkronisasi batch, memantau statusnya, serta melakukan O&M pada kelompok sumber daya, lihat O&M untuk tugas sinkronisasi batch.