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:
Merancang alur kerja dan mengonfigurasi logika penjadwalannya
Membuat tabel MaxCompute tujuan
Menambahkan sumber data MySQL dan HttpFile
Mengonfigurasi dua tugas sinkronisasi batch
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
| Sumber | Objek | Konten | Tabel tujuan |
|---|---|---|---|
MySQL (user_behavior_analysis_mysql) | Tabel: ods_user_info_d | Informasi dasar pengguna | ods_user_info_d_odps |
HttpFile (user_behavior_analysis_httpfile) | File: user_log.txt | Log akses website | ods_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.
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.
Buat alur kerja bernama
User profile analysis_MaxCompute. Untuk instruksi, lihat Buat alur kerja.
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 node Nama node Tujuan Node beban nol workshop_start_odpsMemicu seluruh alur kerja setiap hari pukul 00:30. Node ini tidak memerlukan skrip. Sinkronisasi batch ods_user_info_d_odpsMenyinkronkan informasi dasar pengguna dari MySQL ke MaxCompute. Sinkronisasi batch ods_raw_log_d_odpsMenyinkronkan log akses website dari OSS ke MaxCompute. 
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.
workshop_start_odps, sehingga alur kerja dipicu oleh node tersebut.| Item konfigurasi | Pengaturan | Deskripsi |
|---|---|---|
| Waktu penjadwalan | ![]() | Diatur ke 00:30. Node beban nol memicu alur kerja setiap hari pada waktu ini. |
| Dependensi penjadwalan | ![]() | Node 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.
Buka titik masuk pembuatan tabel.

Buat tabel
ods_raw_log_d_odps. Di kotak dialog Create Table, masukkanods_raw_log_d_odpsdi 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;Buat tabel
ods_user_info_d_odps. Di kotak dialog Create Table, masukkanods_user_info_d_odpsdi 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;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.
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:
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.
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.
Di halaman Data Sources, klik Add Data Source.
Di kotak dialog Add Data Source, klik MySQL.
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.Parameter Nilai Nama Sumber Data user_behavior_analysis_mysqlDeskripsi Sumber Data Untuk studi kasus tutorial DataWorks. Sumber read-only untuk sinkronisasi batch. Mode Konfigurasi Connection String Mode Lingkungan Development and Production Alamat IP Host rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.comNomor Port 3306Nama Database workshopUsername workshopPassword workshop#2017Metode Autentikasi No Authentication 
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.
Di halaman Data Sources, klik Add Data Source.
Di kotak dialog Add Data Source, klik HttpFile.
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.Parameter Nilai Nama Sumber Data user_behavior_analysis_httpfileDeskripsi Sumber Data Untuk studi kasus tutorial DataWorks. Sumber read-only untuk sinkronisasi batch. Lingkungan Development Environment dan Production Environment URL Domain https://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.comDi 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.
Klik ganda node
ods_user_info_d_odpsuntuk membuka tab konfigurasinya.Konfigurasikan sumber, kelompok sumber daya, dan tujuan, lalu klik Next dan selesaikan uji konektivitas.
Parameter Nilai Sumber MySQL— Nama Sumber Data:user_behavior_analysis_mysqlKelompok Sumber Daya Kelompok sumber daya serverless Anda Tujuan MaxCompute— Nama Sumber Data:user_behavior_analysis_mysql
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.
Item Parameter Nilai Cuplikan layar Source Table ods_user_info_d
Split key uidDestination Tunnel Resource Group Common transmission resources (default) 
Schema defaultTable ods_user_info_d_odpsPartition Information ${bizdate}Write Mode Insert Overwrite (Membersihkan data yang ada sebelum menulis) Write by Converting Empty Strings into Null No 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_odpstersedia.Properti Nilai Cuplikan layar Parameter Penjadwalan $bizdate(Nama Parameter:bizdate; mengambil tanggal hari sebelumnya dalam formatyyyymmdd)
Siklus Penjadwalan Day
Waktu Terjadwal 00:30Jalankan Ulang Allow Regardless of Running Status Kelompok Sumber Daya Kelompok sumber daya serverless Anda 
Dependensi Pastikan workshop_startmuncul 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_odpstersedia — tambahkan secara manual jika tidak ada.
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];Klik ganda node
ods_raw_log_d_odpsuntuk membuka tab konfigurasinya.Konfigurasikan sumber, kelompok sumber daya, dan tujuan, lalu klik Next dan selesaikan uji konektivitas.
Parameter Nilai Sumber HttpFile— Nama Sumber Data:user_behavior_analysis_HttpFileKelompok Sumber Daya Kelompok sumber daya serverless Anda Tujuan MaxCompute— Nama Sumber Data:user_behavior_analysis_mysql
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.
Item Parameter Nilai Cuplikan layar Source File Path /user_log.txt
File Type textColumn Delimiter |Advanced configuration Coding UTF-8
Compression format UTF-8Skip Header NoDestination Tunnel Resource Group Common transmission resources (default) 
Schema defaultTable ods_raw_log_d_odpsPartition information ${bizdate}Write Mode Insert Overwrite (Membersihkan data yang ada sebelum menulis) Write by Converting Empty Strings into Null No 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_odpstersedia. DataWorks menggunakan output ini untuk penguraian otomatis saat node SQL downstream bergantung pada node sinkronisasi ini.Properti Nilai Cuplikan layar Parameter Penjadwalan $bizdate(Nama Parameter:bizdate; mengambil tanggal hari sebelumnya dalam formatyyyymmdd)
Siklus Penjadwalan Day
Waktu Terjadwal 00:30Jalankan Ulang Allow Regardless of Running Status Kelompok Sumber Daya Kelompok sumber daya serverless Anda 
Dependensi Pastikan workshop_startmuncul di Parent Nodes. Pastikan juga output node bernama<nama proyek MaxCompute di lingkungan produksi>.ods_raw_log_d_odpstersedia — tambahkan secara manual jika tidak ada.
Langkah 5: Jalankan alur kerja dan verifikasi hasilnya
Jalankan alur kerja
Di DataStudio, klik ganda alur kerja
User profile analysis_MaxComputedi bawah Business Flow.Di kanvas alur kerja, klik ikon
di bilah alat untuk menjalankan semua node sesuai urutan dependensinya.Konfirmasi status:

Status node: Node dalam keadaan
menunjukkan eksekusi berhasil.Log node: Klik kanan
ods_user_info_d_odpsatauods_raw_log_d_odpsdan 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_dberada diworkshop2024_01_dev.ods_user_info_d_odps, dipartisi berdasarkan tanggal hari sebelumnya.Semua baris dari file OSS
user_log.txtberada diworkshop2024_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.
Di panel navigasi kiri DataStudio, klik ikon
. Di panel Ad Hoc Query, klik kanan Ad Hoc Query dan pilih Create Node > ODPS SQL.Jalankan SQL berikut untuk memeriksa jumlah baris. Ganti
Data timestampdengan waktu data dari eksekusi (misalnya, jika alur kerja dijalankan pada 21 Juni 2023, waktu datanya adalah20230620).select count(*) from ods_user_info_d_odps where dt='Data timestamp'; select count(*) from ods_raw_log_d_odps where dt='Data timestamp';
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.

