全部产品
Search
文档中心

DataWorks:Sinkronisasi satu tabel MaxCompute ke ApsaraDB for ClickHouse

更新时间:Feb 05, 2026

Topik ini menjelaskan cara mengonfigurasi tugas Sinkronisasi Offline di DataWorks untuk menulis data dari satu tabel MaxCompute ke tabel ApsaraDB for ClickHouse, mencakup konfigurasi sumber data, konektivitas jaringan, dan pengaturan tugas.

Latar Belakang

ApsaraDB for ClickHouse adalah layanan database kolom yang dirancang untuk Pemrosesan Analitik Online (OLAP). Data Integration memungkinkan Anda menyinkronkan data dari ApsaraDB for ClickHouse ke destinasi lain dan dari sumber lain ke ApsaraDB for ClickHouse. Topik ini menunjukkan cara mengonfigurasi tugas Sinkronisasi Offline dengan menyinkronkan data dari satu tabel MaxCompute ke ApsaraDB for ClickHouse.

Batasan

Anda hanya dapat menggunakan sinkronisasi offline satu tabel dengan instans ApsaraDB for ClickHouse di Alibaba Cloud.

Prasyarat

Prosedur

Catatan

Topik ini menunjukkan cara mengonfigurasi tugas Sinkronisasi Offline dengan menggunakan Data Studio (New).

Langkah 1: Buat node sinkronisasi batch

  1. Buka halaman Workspaces di Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Temukan ruang kerja yang diinginkan dan pilih Shortcuts > Data Studio di kolom Actions.

  2. Di panel navigasi sebelah kiri, klik image. Klik ikon icon next to image Project Directory, pilih New Node > Data Integration > Batch Synchronization, masukkan Name untuk node tersebut, lalu klik Confirm.

Langkah 2: Konfigurasi pengaturan jaringan dan resource

  1. Pada langkah Network and Resource Settings, pilih Data Source, Resource Group, dan Data Destination untuk tugas sinkronisasi. Anda juga dapat menentukan Task Resource Usage dalam unit komputasi (CUs) untuk tugas ini.

    • Untuk Data Source, pilih sumber data MaxCompute yang telah ditambahkan.

    • Untuk Data Destination, pilih sumber data ApsaraDB for ClickHouse yang telah ditambahkan.

    • Untuk Resource Group, pilih resource group yang terhubung ke kedua sumber data MaxCompute dan ApsaraDB for ClickHouse. Anda juga dapat menentukan usage CU untuk resource tugas.

  2. Klik Test Connectivity di bagian Data Source dan Data Destination.

    image

  3. Setelah kedua uji konektivitas berhasil, klik Next.

Langkah 3: Konfigurasi sumber dan destinasi

Parameter sumber (MaxCompute)

Tabel berikut menjelaskan parameter utama untuk mengonfigurasi sumber data MaxCompute.

image

Parameter

Deskripsi

Data source

Sumber data MaxCompute yang dipilih pada langkah sebelumnya. Jika Anda menggunakan ruang kerja DataWorks dalam Mode Standar, nama proyek development dan production akan ditampilkan.

Tunnel resource group

Tutorial ini menggunakan Public Transmission Resources secara default. Jika Anda memiliki Exclusive Tunnel Quota, Anda dapat memilihnya dari daftar drop-down.

Table

Pilih tabel sumber MaxCompute. Jika Anda menggunakan ruang kerja DataWorks dalam Mode Standar, pastikan tabel dengan nama dan Table Schema yang sama tersedia di lingkungan MaxCompute development dan production.

Catatan

Catatan:

  • Jika tabel sumber tidak ada di lingkungan development, Anda tidak akan menemukan tabel tersebut di daftar drop-down.

  • Jika tabel sumber tidak ada di lingkungan production, tugas sinkronisasi akan gagal setelah dipublikasikan dan dijadwalkan karena tabel tidak ditemukan.

  • Jika Table Schema tidak konsisten antara lingkungan development dan production, pemetaan kolom saat dijalankan sesuai jadwal mungkin berbeda dari pemetaan yang dikonfigurasi di sini, sehingga menyebabkan penulisan data yang salah.

Filter Method

Anda dapat memfilter data sumber dengan menggunakan Partition Filter atau Data Filter.

  • Partition Filter: Menentukan rentang sinkronisasi menggunakan ekspresi partisi. Jika Anda memilih metode ini, Anda juga harus mengonfigurasi parameter Partitions dan When the Partition Does Not Exist.

  • Data Filter: Menentukan rentang sinkronisasi menggunakan klausa WHERE SQL. Anda tidak perlu menyertakan kata kunci WHERE.

Partitions

Parameter ini wajib diisi jika Anda mengatur Filter Method ke Partition Filter. Anda dapat menentukan nilai untuk kolom partisi.

  • Anda dapat menggunakan Fixed Value, seperti ds=20220101.

  • Anda dapat menggunakan parameter penjadwalan, seperti ds=${bizdate}. Sistem secara otomatis mengganti parameter ini dengan nilai aktual saat waktu proses.

When the Partition Does Not Exist

Menentukan cara menangani kasus ketika partisi tidak ada. Nilai yang valid:

  • Error is reported

  • Ignore and proceed

Parameter destinasi (ApsaraDB for ClickHouse)

Tabel berikut menjelaskan parameter utama untuk mengonfigurasi destinasi data ApsaraDB for ClickHouse.

image

Parameter

Deskripsi

Data source

Sumber data ApsaraDB for ClickHouse yang dipilih pada langkah sebelumnya.

Table

Pilih tabel destinasi ApsaraDB for ClickHouse. Kami menyarankan agar tabel yang digunakan untuk sinkronisasi data memiliki Table Schema yang identik di lingkungan ApsaraDB for ClickHouse development dan production.

Catatan

Daftar tabel menampilkan tabel dari lingkungan development sumber data ApsaraDB for ClickHouse Anda. Jika definisi tabel berbeda antara lingkungan development dan production, tugas mungkin dikonfigurasi dengan benar di lingkungan development tetapi gagal di lingkungan production karena tabel atau kolom tidak ditemukan.

Primary/Unique Key Conflict Handling

Saat Anda menggunakan insert into, tugas integrasi memeriksa keunikan primary key dan pelanggaran batasan saat waktu proses.

Pre-import Statement

Anda dapat mengeksekusi pernyataan SQL sebelum dan setelah tugas sinkronisasi data. Misalnya, Anda dapat menghapus data dari partisi harian sebelum tugas dijalankan agar partisi tersebut kosong.

Post-import Statement

Batch Insert Size (Bytes)

Data Integration menulis data ke ApsaraDB for ClickHouse dalam batch. Parameter ini menentukan ukuran maksimum dalam byte dan jumlah maksimum catatan untuk setiap batch. Penulisan dilakukan ketika batch mencapai salah satu batas tersebut.

Nilai yang direkomendasikan untuk Batch Insert Size (Bytes) adalah 16777216 (16 MB). Kami menyarankan Anda mengatur Batch Insert Size (Number of Records) ke nilai besar berdasarkan ukuran satu catatan. Hal ini memungkinkan penulisan batch dipicu terutama oleh batas ukuran byte.

Misalnya, jika satu catatan berukuran 1 KB, atur Batch Insert Size (Bytes) ke 16777216 (16 MB) dan Batch Insert Size (Number of Records) ke 20000, yang lebih besar dari 16 MB / 1 KB = 16384. Dalam kasus ini, penulisan dipicu ketika ukuran batch mencapai 16 MB.

Batch Insert Size (Number of Records)

When a batch write exception occurs in ClickHouse

Menentukan strategi penanganan error yang digunakan ketika penulisan batch ke ApsaraDB for ClickHouse gagal. Nilai yang valid:

  • Attempt to write a single record, and record as dirty data if the single write still fails: Menulis catatan satu per satu membantu mengidentifikasi data kotor spesifik tetapi dapat meningkatkan beban ApsaraDB for ClickHouse secara signifikan. Gunakan opsi ini dengan hati-hati.

  • Fail and exit the synchronization task: Untuk menjaga stabilitas ApsaraDB for ClickHouse, opsi ini membuat tugas gagal saat terjadi exception penulisan. Anda kemudian dapat mengonfigurasi alert untuk intervensi manual.

  • Record the batch of data as dirty data: Jika Anda ingin tugas selesai dan dapat mentoleransi kehilangan data, pilih opsi ini untuk mencatat seluruh batch sebagai data kotor. Anda dapat mengontrol apakah tugas keluar dengan menetapkan batas jumlah data kotor yang diizinkan.

Langkah 4: Konfigurasi pemetaan field

Setelah memilih sumber data dan destinasi, petakan kolom sumber ke kolom destinasi. Anda dapat memilih Map by Name, Map by Row, Unmap, atau Auto Layout.

Langkah 5: Konfigurasi kontrol channel

Anda dapat mengonfigurasi Job Concurrency dan Dirty Data Policy untuk tugas sinkronisasi offline. Untuk tutorial ini, atur Dirty Data Policy ke Do Not Tolerate Dirty Data dan gunakan nilai default untuk parameter lainnya. Untuk informasi selengkapnya, lihat Konfigurasi tugas di Antarmuka tanpa kode.

Langkah 6: Debug dan jalankan tugas

  1. Di sisi kanan halaman konfigurasi node Batch Synchronization, klik Run Configuration, atur Resource Group dan Script Parameters untuk debugging, lalu klik Run di bilah alat atas untuk menguji tugas.

  2. Di panel navigasi sebelah kiri, klik image. Klik ikon icon next to imageMy Directory, buat file dengan ekstensi .sql, lalu jalankan pernyataan SQL berikut untuk memverifikasi data di tabel destinasi.

    Catatan
    SELECT * FROM <your_clickhouse_destination_table_name> LIMIT 20;

Langkah 7: Konfigurasi penjadwalan dan publikasi

Di sisi kanan halaman konfigurasi tugas Batch Synchronization, klik Scheduling Configuration, konfigurasi parameter penjadwalan yang diperlukan, lalu klik Publish di bilah alat atas. Ikuti petunjuk untuk mempublikasikan tugas.

Lampiran: Sesuaikan parameter memori

Jika peningkatan konkurensi tidak secara signifikan meningkatkan throughput sinkronisasi, sesuaikan secara manual parameter memori untuk tugas tersebut.

  1. Di bilah alat atas halaman tugas Batch Synchronization, klik Script Mode untuk beralih dari Wizard Mode.

    image

  2. Dalam skrip JSON, tambahkan parameter jvmOption ke bagian setting. Format parameternya adalah -Xms${heapMem} -Xmx${heapMem} -Xmn${newMem}.

    image

Dalam Wizard Mode, sistem menghitung nilai ${heapMem} menggunakan rumus: 768 MB + (Job Concurrency - 1) * 256 MB. Kami menyarankan Anda menetapkan nilai yang lebih besar untuk ${heapMem} dalam Script Mode dan mengatur ${newMem} menjadi sepertiga dari nilai ${heapMem}. Misalnya, jika Job Concurrency adalah 8, nilai default ${heapMem} yang dihitung dalam Wizard Mode adalah 2560 MB. Dalam Script Mode, Anda dapat menetapkan nilai yang lebih besar, misalnya mengatur jvmOption menjadi -Xms3072m -Xmx3072m -Xmn1024m.