All Products
Search
Document Center

DataWorks:Konfigurasikan tugas sinkronisasi batch dengan Code Editor

Last Updated:Jun 24, 2026

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.

    Catatan

    Antarmuka 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

Langkah 1: Buat node sinkronisasi batch

Data Studio (versi baru)

  1. Masuk ke Konsol DataWorks. Di panel navigasi sebelah kiri, pilih Data Development and O&M > DataStudio. Pilih ruang kerja yang diinginkan dari daftar drop-down dan klik <p><a href={url} target="_blank">Learn more.</a></p>Data Studio.

  2. Buat alur kerja. Untuk informasi selengkapnya, lihat Alur kerja.

  3. Buat node Integrasi Data dengan salah satu cara berikut:

    • Metode 1: Di pojok kanan atas daftar alur kerja, klik image, lalu pilih Create Node > Data Integration.

    • Metode 2: Klik ganda nama alur kerja, lalu seret node Data Integration dari direktori Data Integration ke panel pengeditan alur kerja di sebelah kanan.

  4. 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

  1. Masuk ke Konsol DataWorks. Di panel navigasi sebelah kiri, pilih Data Development and O&M > DataStudio. Pilih ruang kerja yang diinginkan dari daftar drop-down dan klik Data Analytics.

  2. Buat alur kerja. Untuk informasi selengkapnya, lihat Buat alur kerja.

  3. Buat node sinkronisasi batch dengan salah satu cara berikut:

    • Metode 1: Perluas alur kerja, klik kanan Data Integration > Create Node > Batch Synchronization.

    • Metode 2: Klik ganda nama alur kerja, lalu seret node Batch Synchronization dari direktori Data Integration ke panel pengeditan alur kerja di sebelah kanan.

  4. 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:

  1. Di antarmuka tanpa kode, pilih sumber data dan kelompok sumber daya, lalu uji konektivitas jaringan.

  2. 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.

Catatan

Langkah 3: Beralih ke Code Editor dan impor templat

Di bilah alat, klik ikon Code Editor image.

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:

Catatan
  • 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"
            }
        ]
    }
}
  1. Konfigurasikan informasi dasar dan pemetaan bidang untuk reader dan writer.

    Penting

    Konfigurasi 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 WHERE tanpa 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, splitPk hanya mendukung pemisahan data integer. Tidak mendukung string, bilangan titik mengambang, atau tanggal. Jika Anda menentukan tipe yang tidak didukung, Integrasi Data akan mengabaikan pengaturan splitPk, 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 preSql dan postSql untuk menjalankan perintah sebelum atau sesudah menulis data. Anda dapat menggunakan pre-import statement (preSql) untuk membersihkan tabel dengan perintah truncate table tablename sebelum sinkronisasi dimulai.

      writeMode (Tentukan mode penulisan untuk konflik)

      Konfigurasi ini bergantung pada fitur sumber data dan dukungan plugin writer.

  2. 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.

    Catatan

    Karena 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.

      Catatan

      Saat throttle diatur ke true, 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.

    Catatan

    Metrik 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.

    Penting

    Jumlah 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.

    Catatan

    Data 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/Shanghai atau America/New_York.

    • Jika tidak dikonfigurasi, Integrasi Data menggunakan zona waktu default sistem.

    Catatan

    Selain 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 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 format yyyymmdd.

  • Jalankan tugas.

    Klik tombol image 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 image 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.

Dokumentasi terkait