DataWorks Data Integration memungkinkan Anda menggunakan ekspresi fungsi untuk menetapkan nilai ke bidang tabel target dalam task sinkronisasi database penuh real-time.
Limitations
Anda dapat menggunakan ekspresi fungsi untuk menetapkan nilai ke bidang tabel target hanya dalam task real-time full-database sync yang menggunakan MySQL atau PolarDB sebagai sumber dan MaxCompute atau Hologres sebagai tujuan.
Supported functions and syntax
Supported functions
Function name | Description | Parameters | Example expression |
CONCAT | Menggabungkan string. |
| |
DATE_FORMAT | Mengonversi stempel waktu menjadi string waktu dalam format tertentu. |
| |
TO_TIMESTAMP | Mengonversi string waktu menjadi stempel waktu 10 digit atau 13 digit. |
| |
DATE_CONVERT | Mengonversi string waktu dengan format tertentu di zona waktu tertentu menjadi string waktu dengan format lain di zona waktu lain. |
| |
SUBSTRING | Mengembalikan substring dari suatu string. |
| |
LOWER | Mengonversi string menjadi huruf kecil. |
| |
UPPER | Mengonversi string menjadi huruf besar. |
| |
Supported syntax
Hanya ekspresi pemanggilan fungsi yang didukung. Ekspresi terdiri dari nama fungsi, tanda kurung, dan parameter. Jenis ekspresi lain tidak didukung. Contoh:
DATE_FORMAT(#{create_time},"millis","Asia/Shanghai","yyyyMMdd").Parameter ekspresi fungsi dapat mereferensikan konstanta string menggunakan tanda kutip ganda (
""). Contoh:CONCAT("hello","world").Parameter ekspresi fungsi dapat mereferensikan konstanta numerik menggunakan angka. Contoh:
SUBSTRING(#{col1},0,10).Parameter fungsi mendukung pemanggilan fungsi bersarang. Contoh:
CONCAT(SUBSTRING(#{col1},0,10),"test").Parameter ekspresi fungsi dapat mereferensikan nilai kolom output dari node leluhur menggunakan
#{}.Parameter fungsi dapat mereferensikan variabel bawaan menggunakan
${}. Variabel bawaan yang didukung sama dengan yang tersedia untuk kolom tambahan di setiap channel. Contoh:CONCAT(SUBSTRING(#{col1},0,10),${DATASOURCE_NAME_SRC}).Nama fungsi dan nama variabel bawaan tidak peka huruf besar/kecil.
Prerequisites
Anda telah menyelesaikan konfigurasi sumber data, dengan MySQL atau PolarDB sebagai sumber dan MaxCompute atau Hologres sebagai tujuan.
Sebuah real-time full-database sync task telah dibuat.
Procedure
Step 1: Buka halaman konfigurasi task real-time
Masuk ke DataWorks console. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi kiri, pilih . Pada halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down lalu klik Go to Data Integration.
Di panel navigasi kiri, klik
untuk membuka halaman task sinkronisasi.Temukan task sinkronisasi database penuh real-time yang telah dibuat, lalu klik di kolom Actions untuk membuka halaman konfigurasi task sinkronisasi.
Step 2: Tambahkan kolom pemrosesan fungsi ke tabel target
Hasil ekspresi fungsi ditulis ke kolom dalam tabel target. Anda harus terlebih dahulu menambahkan bidang ke skema tabel target.
Di halaman konfigurasi task real-time, klik Next. Di bagian Target Table Mapping, klik Refresh Mapping.
Temukan tabel target tempat Anda ingin menambahkan kolom fungsi. Di kolom Target Table Name, klik tombol
untuk membuka halaman konfigurasi skema tabel target.
Di bagian Fields, klik Add Field. Setelah mengonfigurasi bidang tersebut, klik Apply And Refresh Mapping.

Anda juga dapat menggunakan opsi Target Table Schema - Batch Modify And Add Fields dalam Batch Operations untuk menambahkan kolom fungsi ke beberapa tabel target sekaligus.

Step 3: Definisikan ekspresi fungsi
Di kolom Target Table Field Assignment, klik Configure untuk membuka halaman penugasan bidang.

Di bagian Target Table Fields, temukan kolom fungsi yang telah Anda tambahkan. Atur Assignment Method menjadi Function. Kemudian, masukkan fungsi di kolom Assignment. Untuk informasi selengkapnya tentang fungsi dan sintaks yang didukung, lihat Supported functions and syntax.
