All Products
Search
Document Center

DataWorks:Sinkronisasi data

Last Updated:Mar 26, 2026

Tutorial ini memandu Anda melalui proses memuat data dari dua sumber heterogen—tabel ApsaraDB RDS for MySQL dan file Object Storage Service (OSS)—ke MaxCompute menggunakan tugas sinkronisasi batch Data Integration di DataWorks. Pada akhirnya, kedua set data tersebut akan tersimpan di tabel MaxCompute yang dipartisi dan dijalankan sesuai jadwal harian.

Apa yang akan Anda selesaikan:

  1. Merancang alur kerja dan mengonfigurasi logika penjadwalannya

  2. Membuat tabel MaxCompute tujuan

  3. Menambahkan sumber data MySQL dan HttpFile

  4. Mengonfigurasi dua tugas sinkronisasi batch

  5. Menjalankan alur kerja dan memverifikasi hasilnya

Prasyarat

Sebelum memulai, pastikan Anda telah:

  • Meninjau pengantar eksperimen. Untuk detailnya, lihat Pengantar eksperimen.

  • Menyelesaikan penyiapan lingkungan seperti yang dijelaskan dalam Persiapkan lingkungan, termasuk membeli kelompok sumber daya serverless dan mengonfigurasi gateway NAT Internet.

Apa yang disinkronkan

SumberObjekKontenTabel tujuan
MySQL (user_behavior_analysis_mysql)Tabel: ods_user_info_dInformasi dasar penggunaods_user_info_d_odps
HttpFile (user_behavior_analysis_httpfile)File: user_log.txtLog akses websiteods_raw_log_d_odps

Data uji dan sumber data telah disediakan sebelumnya untuk tutorial ini. Anda hanya perlu mendaftarkan informasi sumber data di ruang kerja Anda agar dapat mengaksesnya. Semua data bersifat sintetis dan read-only dalam Data Integration.

Langkah 1: Rancang alur kerja

Buat dan rancang alur kerja

Pengembangan di DataWorks diorganisir berdasarkan alur kerja. Buat alur kerja sebelum menambahkan node ke dalamnya.

  1. Buka DataStudio. Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah target. Di panel navigasi kiri, pilih Data Development and O&M > Data Development. Pilih ruang kerja Anda dari daftar drop-down dan klik Go to Data Development.

  2. Buat alur kerja bernama User profile analysis_MaxCompute. Untuk instruksi, lihat Buat alur kerja.

    image

  3. Rancang alur kerja. Setelah kanvas alur kerja terbuka, klik Create Node di bilah alat. Seret node ke kanvas, lalu gambar garis di antara node tersebut untuk mengatur dependensi penjadwalan untuk sinkronisasi data. Gunakan tata letak berdasarkan desain alur kerja. Tutorial ini menggunakan tiga node berikut: Karena tidak ada alur data antara node beban nol dan node sinkronisasi, konfigurasikan dependensinya dengan menggambar garis di kanvas. Untuk panduan, lihat Panduan konfigurasi dependensi penjadwalan.

    Jenis nodeNama nodeTujuan
    Node beban nolworkshop_start_odpsMemicu seluruh alur kerja setiap hari pukul 00:30. Node ini tidak memerlukan skrip.
    Sinkronisasi batchods_user_info_d_odpsMenyinkronkan informasi dasar pengguna dari MySQL ke MaxCompute.
    Sinkronisasi batchods_raw_log_d_odpsMenyinkronkan log akses website dari OSS ke MaxCompute.

    image

Konfigurasikan logika penjadwalan

Node beban nol workshop_start_odps memicu seluruh alur kerja. Konfigurasikan agar dijalankan setiap hari pukul 00.30—node sinkronisasi akan berjalan secara otomatis setelah node ini selesai. Biarkan pengaturan penjadwalan pada node lain tetap pada nilai default-nya.

Catatan Semua node dalam alur kerja DataWorks harus bergantung pada node leluhur. Kedua node sinkronisasi bergantung pada workshop_start_odps, sehingga alur kerja dipicu oleh node tersebut.
Item konfigurasiPengaturanDeskripsi
Waktu penjadwalanimageDiatur ke 00:30. Node beban nol memicu alur kerja setiap hari pada waktu ini.
Dependensi penjadwalanimageNode workshop_start_odps tidak memiliki node leluhur. Atur agar bergantung pada root node of the workspace, yang memicu node beban nol ini.

Untuk informasi lebih lanjut tentang konfigurasi penjadwalan, lihat Konfigurasikan waktu penjadwalan untuk node dalam alur kerja dalam berbagai skenario dan Ikhtisar.

Langkah 2: Buat tabel MaxCompute tujuan

Buat dua tabel MaxCompute yang akan menyimpan data yang disinkronkan sebelum mengonfigurasi tugas sinkronisasi. Untuk informasi umum tentang operasi tabel MaxCompute, lihat Buat dan kelola tabel MaxCompute.

  1. Buka titik masuk pembuatan tabel.

    image.png

  2. Buat tabel ods_raw_log_d_odps. Di kotak dialog Create Table, masukkan ods_raw_log_d_odps di bidang Name. Klik DDL, tempel pernyataan berikut, lalu klik Generate Table Schema. Di kotak dialog Confirm, klik Confirmation untuk menerapkan.

    CREATE TABLE IF NOT EXISTS ods_raw_log_d_odps
    (
     col STRING
    )
    PARTITIONED BY
    (
     dt STRING
    )
    LIFECYCLE 7;
  3. Buat tabel ods_user_info_d_odps. Di kotak dialog Create Table, masukkan ods_user_info_d_odps di bidang Name. Klik DDL, tempel pernyataan berikut, lalu klik Generate Table Schema. Di kotak dialog Confirm, klik Confirmation untuk menerapkan.

    CREATE TABLE IF NOT EXISTS ods_user_info_d_odps (
     uid STRING COMMENT 'The user ID',
     gender STRING COMMENT 'The gender',
     age_range STRING COMMENT 'The age range',
     zodiac STRING COMMENT 'The zodiac sign'
    )
    PARTITIONED BY (
     dt STRING
    )
    LIFECYCLE 7;
  4. Komit dan deploy kedua tabel tersebut. Di tab konfigurasi masing-masing tabel, klik Commit to Development Environment lalu Commit to Production Environment. DataWorks membuat tabel fisik di proyek MaxCompute yang terkait dengan masing-masing lingkungan.

    Catatan Mengkomit ke lingkungan pengembangan membuat tabel di proyek MaxCompute yang terkait dengan lingkungan pengembangan. Mengkomit ke lingkungan produksi membuatnya di proyek lingkungan produksi.

Langkah 3: Tambahkan sumber data

Daftarkan kedua sumber data di ruang kerja Anda sebelum mengonfigurasi tugas sinkronisasi. Hal ini memungkinkan Anda memilihnya berdasarkan nama saat menyiapkan setiap tugas.

Penting

Data uji untuk kedua sumber dihosting di internet. Pastikan gateway NAT Internet telah dikonfigurasi untuk kelompok sumber daya Anda (lihat Langkah 2). Tanpa itu, uji konektivitas akan gagal dengan error berikut:

  • HttpFile: ErrorMessage:[Connect to dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com:443 [...] failed: connect timed out]

  • MySQL: ErrorMessage:[Exception:Communications link failure ... Root Cause:[connect timed out]]

Untuk membuka halaman Data Sources:

  1. Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah target. Pada panel navigasi kiri, pilih More > Management Center, lalu pilih ruang kerja Anda dan klik Go to Management Center.

  2. Di panel navigasi kiri, klik Data Sources.

Tambahkan sumber data MySQL

Tambahkan sumber data ApsaraDB RDS for MySQL untuk membaca informasi dasar pengguna yang disimpan di MySQL.

  1. Di halaman Data Sources, klik Add Data Source.

  2. Di kotak dialog Add Data Source, klik MySQL.

  3. Di halaman Add MySQL Data Source, isi parameter berikut.

    Catatan Tambahkan sumber data di lingkungan pengembangan dan lingkungan produksi. Jika Anda melewatkan salah satunya, tugas terkait akan gagal saat dijalankan.
    ParameterNilai
    Nama Sumber Datauser_behavior_analysis_mysql
    Deskripsi Sumber DataUntuk studi kasus tutorial DataWorks. Sumber read-only untuk sinkronisasi batch.
    Mode KonfigurasiConnection String Mode
    LingkunganDevelopment and Production
    Alamat IP Hostrm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com
    Nomor Port3306
    Nama Databaseworkshop
    Usernameworkshop
    Passwordworkshop#2017
    Metode AutentikasiNo Authentication

    image

  4. Di bagian Connection Configuration, temukan kelompok sumber daya serverless Anda dan klik Test Network Connectivity. Uji kedua lingkungan secara terpisah. Status berubah menjadi Connected setelah uji berhasil.

Tambahkan sumber data HttpFile

Tambahkan sumber data HttpFile untuk membaca log akses website yang disimpan di OSS.

  1. Di halaman Data Sources, klik Add Data Source.

  2. Di kotak dialog Add Data Source, klik HttpFile.

  3. Di halaman Add HttpFile Data Source, isi parameter berikut.

    Catatan Tambahkan sumber data di lingkungan pengembangan dan lingkungan produksi. Jika Anda melewatkan salah satunya, tugas terkait akan gagal saat dijalankan.
    ParameterNilai
    Nama Sumber Datauser_behavior_analysis_httpfile
    Deskripsi Sumber DataUntuk studi kasus tutorial DataWorks. Sumber read-only untuk sinkronisasi batch.
    LingkunganDevelopment Environment dan Production Environment
    URL Domainhttps://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com
  4. Di bagian Connection Configuration, temukan kelompok sumber daya serverless Anda dan klik Test Network Connectivity. Uji kedua lingkungan secara terpisah dan pastikan masing-masing menampilkan Connected.

Langkah 4: Konfigurasikan tugas sinkronisasi batch

Sinkronkan MySQL ke MaxCompute

Tugas ini membaca dari tabel MySQL ods_user_info_d dan menulis ke tabel MaxCompute ods_user_info_d_odps.

  1. Klik ganda node ods_user_info_d_odps untuk membuka tab konfigurasinya.

  2. Konfigurasikan sumber, kelompok sumber daya, dan tujuan, lalu klik Next dan selesaikan uji konektivitas.

    ParameterNilai
    SumberMySQL — Nama Sumber Data: user_behavior_analysis_mysql
    Kelompok Sumber DayaKelompok sumber daya serverless Anda
    TujuanMaxCompute — Nama Sumber Data: user_behavior_analysis_mysql

    image

  3. Konfigurasikan pengaturan sumber dan tujuan. Gunakan pemetaan bidang dan pengaturan kontrol saluran default. Untuk semua opsi yang tersedia, lihat Konfigurasikan tugas sinkronisasi batch menggunakan Antarmuka tanpa kode.

    ItemParameterNilaiCuplikan layar
    SourceTableods_user_info_dimage
    Split keyuid
    DestinationTunnel Resource GroupCommon transmission resources (default)image
    Schemadefault
    Tableods_user_info_d_odps
    Partition Information${bizdate}
    Write ModeInsert Overwrite (Membersihkan data yang ada sebelum menulis)
    Write by Converting Empty Strings into NullNo
  4. Konfigurasikan properti penjadwalan. Klik Properties di panel navigasi kanan dan atur nilai berikut. Untuk detailnya, lihat Properti penjadwalan sebuah node.

    Catatan DataWorks menggunakan output node untuk mengonfigurasi dependensi penjadwalan antara node dan node turunannya. Saat node SQL memproses tabel output dari node sinkronisasi, fitur penguraian otomatis mengonfigurasi node sinkronisasi sebagai leluhur node SQL berdasarkan lineage tabel. Pastikan bahwa output node bernama <nama proyek MaxCompute di lingkungan produksi>.ods_user_info_d_odps tersedia.
    PropertiNilaiCuplikan layar
    Parameter Penjadwalan$bizdate (Nama Parameter: bizdate; mengambil tanggal hari sebelumnya dalam format yyyymmdd)image
    Siklus PenjadwalanDayimage
    Waktu Terjadwal00:30
    Jalankan UlangAllow Regardless of Running Status
    Kelompok Sumber DayaKelompok sumber daya serverless Andaimage
    DependensiPastikan workshop_start muncul di Parent Nodes. Jika tidak, tinjau ulang desain alur kerja di Langkah 1. Pastikan juga output node bernama <nama proyek MaxCompute di lingkungan produksi>.ods_user_info_d_odps tersedia — tambahkan secara manual jika tidak ada.image

Sinkronkan log OSS ke MaxCompute

Tugas ini membaca file user_log.txt dari sumber HttpFile dan menulis ke tabel MaxCompute ods_raw_log_d_odps.

File log menyimpan satu catatan akses per baris dalam format berikut:

$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent"$http_referer" "$http_user_agent" [unknown_content];
  1. Klik ganda node ods_raw_log_d_odps untuk membuka tab konfigurasinya.

  2. Konfigurasikan sumber, kelompok sumber daya, dan tujuan, lalu klik Next dan selesaikan uji konektivitas.

    ParameterNilai
    SumberHttpFile — Nama Sumber Data: user_behavior_analysis_HttpFile
    Kelompok Sumber DayaKelompok sumber daya serverless Anda
    TujuanMaxCompute — Nama Sumber Data: user_behavior_analysis_mysql

    image

  3. Konfigurasikan pengaturan sumber dan tujuan. Setelah mengonfigurasi sumber, klik Confirm Data Structure untuk memverifikasi bahwa file log dapat dibaca. Gunakan pemetaan bidang dan pengaturan kontrol saluran default. Untuk semua opsi yang tersedia, lihat Konfigurasikan tugas sinkronisasi batch menggunakan Antarmuka tanpa kode.

    ItemParameterNilaiCuplikan layar
    SourceFile Path/user_log.txtimage
    File Typetext
    Column Delimiter|
    Advanced configurationCodingUTF-8image
    Compression formatUTF-8
    Skip HeaderNo
    DestinationTunnel Resource GroupCommon transmission resources (default)image
    Schemadefault
    Tableods_raw_log_d_odps
    Partition information${bizdate}
    Write ModeInsert Overwrite (Membersihkan data yang ada sebelum menulis)
    Write by Converting Empty Strings into NullNo
  4. Konfigurasikan properti penjadwalan. Klik Properties di panel navigasi kanan dan atur nilai berikut. Untuk detailnya, lihat Properti penjadwalan sebuah node.

    Catatan Pastikan bahwa output node bernama <nama proyek MaxCompute di lingkungan produksi>.ods_raw_log_d_odps tersedia. DataWorks menggunakan output ini untuk penguraian otomatis saat node SQL downstream bergantung pada node sinkronisasi ini.
    PropertiNilaiCuplikan layar
    Parameter Penjadwalan$bizdate (Nama Parameter: bizdate; mengambil tanggal hari sebelumnya dalam format yyyymmdd)image
    Siklus PenjadwalanDayimage
    Waktu Terjadwal00:30
    Jalankan UlangAllow Regardless of Running Status
    Kelompok Sumber DayaKelompok sumber daya serverless Andaimage
    DependensiPastikan workshop_start muncul di Parent Nodes. Pastikan juga output node bernama <nama proyek MaxCompute di lingkungan produksi>.ods_raw_log_d_odps tersedia — tambahkan secara manual jika tidak ada.image

Langkah 5: Jalankan alur kerja dan verifikasi hasilnya

Jalankan alur kerja

  1. Di DataStudio, klik ganda alur kerja User profile analysis_MaxCompute di bawah Business Flow.

  2. Di kanvas alur kerja, klik ikon image.png di bilah alat untuk menjalankan semua node sesuai urutan dependensinya.

  3. Konfirmasi status: image

    • Status node: Node dalam keadaan image.png menunjukkan eksekusi berhasil.

    • Log node: Klik kanan ods_user_info_d_odps atau ods_raw_log_d_odps dan pilih View Logs. Jika log menampilkan output serupa berikut, data telah disinkronkan.

Verifikasi hasilnya

Setelah eksekusi berhasil:

  • Semua baris dari tabel MySQL ods_user_info_d berada di workshop2024_01_dev.ods_user_info_d_odps, dipartisi berdasarkan tanggal hari sebelumnya.

  • Semua baris dari file OSS user_log.txt berada di workshop2024_01_dev.ods_raw_log_d_odps, dipartisi berdasarkan tanggal hari sebelumnya.

Lakukan kueri jumlah baris dengan kueri ad hoc untuk memastikan data dimuat dengan benar.

  1. Di panel navigasi kiri DataStudio, klik ikon image.png. Di panel Ad Hoc Query, klik kanan Ad Hoc Query dan pilih Create Node > ODPS SQL.

  2. Jalankan SQL berikut untuk memeriksa jumlah baris. Ganti Data timestamp dengan waktu data dari eksekusi (misalnya, jika alur kerja dijalankan pada 21 Juni 2023, waktu datanya adalah 20230620).

    select count(*) from ods_user_info_d_odps where dt='Data timestamp';
    select count(*) from ods_raw_log_d_odps where dt='Data timestamp';

    image

Catatan Menjalankan node di DataStudio menulis data ke lingkungan pengembangan. Hasil muncul di proyek MaxCompute workshop2024_01_dev, bukan proyek produksi.

Langkah berikutnya

Sinkronisasi data telah selesai. Lanjutkan ke tutorial berikutnya untuk memproses data yang telah dimuat di MaxCompute: Proses data.