All Products
Search
Document Center

DataWorks:Sinkronisasi data

Last Updated:Jun 16, 2026

Topik ini menjelaskan cara membuat sumber data HttpFile dan MySQL untuk mengakses data informasi pengguna dan data log website yang disediakan dalam tutorial ini, mengonfigurasi pipeline sinkronisasi data ke sumber data OSS privat, serta menggunakan node EMR Hive untuk membuat tabel dan melakukan kueri terhadap data yang telah disinkronkan.

Prasyarat

  • Siapkan lingkungan yang diperlukan. Untuk informasi selengkapnya, lihat Siapkan lingkungan.

  • Untuk memastikan konektivitas jaringan, tambahkan aturan grup keamanan di Konsol ECS. Aturan tersebut harus mengizinkan lalu lintas masuk pada Port 10000 dari Blok CIDR vSwitch VPC kelompok sumber daya Anda. Untuk informasi selengkapnya, lihat Tambahkan aturan grup keamanan.

1. Buat sumber data

Untuk tutorial ini, buat dan tambahkan ketiga sumber data berikut ke ruang kerja DataWorks Anda.

  • Sumber data HttpFile: untuk mengakses data log akses website yang disediakan dalam tutorial ini.

  • Sumber data MySQL: untuk mengakses data informasi pengguna yang disediakan dalam tutorial ini.

  • Sumber data OSS: untuk menyimpan data uji yang telah disinkronkan.

Buat sumber data HttpFile

    1. Login ke Konsol DataWorks. Di wilayah target, klik More > Management Center di panel navigasi sebelah kiri. Pilih ruang kerja dari daftar drop-down dan klik Go to Management Center.

    2. Di halaman Manajemen Ruang Kerja, klik Data Sources di panel navigasi sebelah kiri untuk membuka halaman sumber data.

  1. Klik Add Connection. Di kotak dialog Add Connection, cari dan pilih HttpFile.

  2. Di halaman Create HttpFile data source, konfigurasikan parameter. Dalam tutorial ini, gunakan nilai contoh baik untuk lingkungan pengembangan maupun lingkungan produksi.

    Parameter

    Deskripsi

    Data Source Name

    Masukkan nama untuk sumber data. Untuk tutorial ini, masukkan user_behavior_analysis_httpfile.

    Description

    Masukkan deskripsi. Sumber data khusus tutorial ini menyediakan data uji untuk task sinkronisasi offline. Sumber data ini bersifat read-only dan hanya dapat digunakan untuk integrasi data.

    URL domain

    Domain URL untuk lingkungan pengembangan dan produksi adalah https://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com.

  3. Untuk kelompok sumber daya Anda, klik Test Connectivity di kolom Connection Status (Development Environment) dan Connection Status (Production Environment). Tunggu hingga status koneksi menjadi Connectable.

    Penting

    Pastikan setidaknya satu kelompok sumber daya memiliki status Connectable. Jika tidak, Anda tidak dapat menggunakan wizard untuk membuat task sinkronisasi untuk sumber data ini.

  4. Klik Complete Creation.

Buat sumber data MySQL

  1. Di halaman Management Center, buka halaman Data Source dan klik Add Connection.

  2. Di kotak dialog Add Data Source, cari dan pilih MySQL.

  3. Di halaman Create MySQL data source, konfigurasikan parameter. Dalam tutorial ini, gunakan nilai contoh baik untuk lingkungan pengembangan maupun lingkungan produksi.

    Parameter

    Deskripsi

    Data Source Name

    Masukkan nama untuk sumber data. Untuk tutorial ini, masukkan user_behavior_analysis_mysql.

    Description

    Masukkan deskripsi. Sumber data khusus tutorial ini menyediakan data uji untuk task sinkronisasi offline. Sumber data ini bersifat read-only dan hanya dapat digunakan untuk integrasi data.

    Configuration Mode

    Pilih User-created Data Store with Public IP Addresses.

    Connection Address

    • Host Address IP: rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.com

    • Port: 3306

    Database Name

    Masukkan nama database. Untuk tutorial ini, masukkan workshop.

    Username

    Masukkan username. Untuk tutorial ini, masukkan workshop.

    Password

    Masukkan password. Untuk tutorial ini, masukkan workshop#2017.

    Authentication Method

    Tidak perlu autentikasi.

  4. Untuk kelompok sumber daya Anda, klik Test Connectivity di kolom Connection Status (Development Environment) dan Connection Status (Production Environment). Tunggu hingga status koneksi menjadi Connectable.

  5. Klik Complete Creation.

Buat sumber data OSS

Dalam kasus penggunaan ini, informasi pengguna dari sumber data MySQL dan data log dari sumber data HttpFile disinkronkan ke sumber data OSS.

  1. Di halaman Management Center, buka halaman Data Source dan klik Add Connection.

  2. Di kotak dialog Add Connection, cari dan pilih OSS.

  3. Di halaman Create OSS data source, konfigurasikan parameter. Dalam tutorial ini, gunakan nilai contoh baik untuk lingkungan pengembangan maupun lingkungan produksi.

    Parameter

    Description

    Data Source Name

    Masukkan nama untuk sumber data. Untuk contoh ini, gunakan test_g.

    Description

    Masukkan deskripsi singkat mengenai sumber data.

    Access mode

    Pilih Access Key mode.

    AccessKey ID

    ID AccessKey dari akun saat ini. Buka halaman AccessKey untuk menyalin ID AccessKey.

    AccessKey secret

    Masukkan rahasia AccessKey untuk akun Anda.

    Penting

    Rahasia AccessKey hanya ditampilkan saat Anda membuatnya dan tidak dapat dilihat kembali nanti. Simpan rahasia AccessKey Anda secara rahasia. Jika AccessKey Anda bocor atau hilang, hapus AccessKey tersebut dan buat yang baru.

    Endpoint

    Masukkan http://oss-cn-shanghai-internal.aliyuncs.com.

    Bucket

    Masukkan nama bucket OSS yang telah Anda konfigurasikan untuk kluster EMR saat menyiapkan lingkungan. Untuk tutorial ini, gunakan dw-emr-demo.

  4. Untuk kelompok sumber daya Anda, klik Test Connectivity di kolom Connection Status (Development Environment) dan Connection Status (Production Environment). Tunggu hingga status koneksi menjadi Connectable.

    Catatan

    Pastikan setidaknya satu kelompok sumber daya memiliki status Connectable. Jika tidak, Anda tidak dapat menggunakan wizard untuk membuat task sinkronisasi untuk sumber data ini.

  5. Klik Complete Creation.

2. Bangun pipeline sinkronisasi

  1. Klik ikon 图标 di pojok kiri atas dan pilih All Products > Data Development and O&M > DataStudio.

  2. Di panel DataStudio, klik kanan Workflow dan pilih Create Workflow.

  3. Di kotak dialog Create Workflow, masukkan workshop_emr untuk Workflow Name dan klik New.

  4. Di kanvas pengembangan workflow, buat Node Zero-Load dan dua node sinkronisasi offline.

    1. Klik New Node, lalu seret Zero-Load Node ke kanvas di sebelah kanan. Di kotak dialog New Node, masukkan workshop_start_emr untuk Node Name, lalu klik Confirm.

    2. Klik New Node, pilih dan seret node Offline synchronization ke halaman pengeditan di sebelah kanan. Atur Node Name menjadi ods_raw_log_d_2oss_emr dan ods_user_info_d_2oss_emr masing-masing untuk menyinkronkan informasi pengguna MySQL dan informasi log HttpFile, lalu klik Confirm.

  5. Di kanvas pengembangan workflow, seret garis untuk mengatur node workshop_start_emr sebagai node hulu untuk kedua node sinkronisasi offline tersebut.

3. Mengonfigurasi tugas sinkronisasi

Konfigurasi node awal

  1. Di DataStudio, klik ganda Node Zero-Load di workflow Anda. Di tab editor node, klik Scheduling Configuration di panel sebelah kanan.

  2. Konfigurasikan properti penjadwalan.

    Properti penjadwalan

    Deskripsi

    Jadwal waktu

    • Atur waktu penjadwalan untuk Node Zero-Load menjadi pukul 00:30. Node akan mulai dan menjalankan workflow saat ini setiap hari pukul 00:30.

    • Atur RUN Attribute menjadi Rerun regardless of success or failure.

    Ketergantungan penjadwalan

    Karena Node Zero-Load workshop_start_emr tidak memiliki dependensi hulu, Anda dapat mengatur dependensinya ke Workspace Root Node. Node root kemudian akan memicu node workshop_start_emr untuk dijalankan.

    Workspace Root Node dinamai dengan format WorkspaceName_root.

  3. Setelah konfigurasi selesai, klik ikon 保存 di bilah alat atas.

Konfigurasi node sinkronisasi offline

  1. Sinkronkan informasi pengguna dari sumber data MySQL ke bucket OSS Anda.

    1. Di DataStudio, klik ganda node ods_user_info_d_2oss_emr untuk membuka tab konfigurasinya.

    2. Konfigurasikan sumber, tujuan, dan kelompok sumber daya.

      Setelah menyelesaikan konfigurasi berikut, klik The next Step dan selesaikan uji konektivitas sesuai petunjuk.

      Parameter

      Deskripsi

      Data source

      • Type: MySQL.

      • Data Source name: user_behavior_analysis_mysql.

      My Resource Group

      Pilih serverless resource group yang telah Anda beli.

      Data going

      • Type: OSS.

      • Data Source name: Pilih sumber data OSS privat yang telah Anda buat. Dalam contoh ini, gunakan test_g.

    3. Konfigurasikan task sinkronisasi.

      Parameter

      Deskripsi

      Data source

      • Table: Pilih ods_user_info_d dari sumber data.

      • Shard Key: Disarankan menggunakan primary key atau kolom yang diindeks sebagai kunci shard. Hanya bidang bertipe integer yang didukung. Untuk tutorial ini, atur kunci shard menjadi uid.

      Data going

      • File Type: Pilih text.

      • Object Name (Path Included): Masukkan jalur berdasarkan direktori OSS Anda. Untuk tutorial ini, masukkan ods_user_info_d/user_${bizdate}/user_${bizdate}.txt. Dalam jalur ini, ods_user_info_d adalah nama direktori kustom, dan ${bizdate} adalah variabel untuk tanggal hari sebelumnya.

      • Field Delimiter: Masukkan |.

    4. Konfigurasikan jadwal.

      Klik Scheduling Configuration di panel sebelah kanan. Di panel Scheduling Configuration, konfigurasikan properti penjadwalan seperti dijelaskan di bawah ini.

      Parameter

      Konfigurasi

      Scheduling Parameters

      Di bagian Scheduling Parameters, tambahkan parameter berikut:

      • Nama Parameter: bizdate

      • Nilai: $[yyyymmdd-1]

      Time attribute

      Atur RUN Attribute menjadi Rerun regardless of success or failure.

      Scheduling Dependency

      Di bagian Scheduling Dependency, pastikan tabel telah diatur sebagai output untuk node ini.

      Formatnya adalah WorkspaceName.NodeName.

    5. Setelah konfigurasi selesai, klik ikon 保存 di bilah alat.

  1. Sinkronkan data log dari sumber data HttpFile ke bucket OSS Anda.

    1. Di DataStudio, klik ganda node ods_raw_log_d_2oss_emr untuk membuka tab konfigurasinya.

    2. Konfigurasikan sumber, tujuan, dan kelompok sumber daya.

      Setelah menyelesaikan konfigurasi berikut, klik The next Step dan selesaikan uji konektivitas sesuai petunjuk.

      Parameter

      Deskripsi

      Data source

      • Type: HttpFile.

      • Data Source name: user_behavior_analysis_httpfile.

      My Resource Group

      Pilih serverless resource group yang telah Anda beli.

      Data going

      • Type: OSS.

      • Data Source name: Pilih sumber data OSS privat yang telah Anda buat. Dalam contoh ini, gunakan test_g.

    3. Konfigurasikan task sinkronisasi.

      Parameter

      Deskripsi

      Data source

      • File Path: /user_log.txt.

      • File Type: Pilih text.

      • Field Delimiter: Masukkan |.

      • Compression Format: Opsi termasuk None, Gzip, Bzip2, dan Zip. Untuk tutorial ini, pilih None.

      • Skip Header: Pilih No.

      Data going

      • File Type: Pilih text.

      • Object Name (Path Included): Masukkan jalur berdasarkan direktori OSS Anda. Untuk tutorial ini, masukkan ods_raw_log_d/log_${bizdate}/log_${bizdate}.txt. Dalam jalur ini, ods_raw_log_d adalah nama direktori kustom, dan ${bizdate} adalah variabel untuk tanggal hari sebelumnya.

      • Field Delimiter: Masukkan |.

    4. Konfigurasikan jadwal.

      Klik Scheduling Configuration di panel sebelah kanan. Di panel Scheduling Configuration, konfigurasikan properti penjadwalan seperti dijelaskan di bawah ini.

      Parameter

      Konfigurasi

      Scheduling Parameters

      Di bagian Scheduling Parameters, tambahkan parameter berikut:

      • Nama Parameter: bizdate

      • Nilai: $[yyyymmdd-1]

      Time attribute

      Atur RUN Attribute menjadi Rerun regardless of success or failure.

      Scheduling Dependency

      Di bagian Scheduling Dependency, pastikan tabel telah diatur sebagai output untuk node ini.

      Formatnya adalah WorkspaceName.NodeName.

    5. Setelah konfigurasi selesai, klik ikon 保存 di bilah alat.

Buat tabel EMR

Buat dua tabel, ods_user_info_d_emr dan ods_raw_log_d_emr, untuk melakukan kueri terhadap data mentah pengguna MySQL dan data log OSS yang telah disinkronkan, masing-masing.

  1. Di DataStudio, buka workflow yang telah Anda buat. Klik kanan EMR dan pilih New Node > EMR Hive.

  2. Di kotak dialog New Node, masukkan Node Name dan klik Confirm.

    Anda perlu membuat dua node EMR Hive, ods_user_info_d_emr dan ods_raw_log_d_emr, untuk membuat tabel yang sesuai. Di kanvas pengembangan workflow, konfigurasikan dependensi node dengan menyeret garis.

    Atur workshop_start_emr sebagai node hulu untuk ods_user_info_d_2oss_emr dan ods_raw_log_d_2oss_emr. Kemudian, atur kedua node sinkronisasi tersebut sebagai node hulu untuk ods_user_info_d_emr dan ods_raw_log_d_emr, masing-masing.

  3. Masukkan pernyataan pembuatan tabel di node EMR Hive masing-masing. Di Scheduling Configuration, atur Scheduling Resource Groups ke kelompok sumber daya arsitektur tanpa server yang telah Anda beli. Lalu, klik Save dan Run setiap pernyataan pembuatan tabel.

    • Buat tabel ods_user_info_d_emr.

      Klik ganda node ods_user_info_d_emr untuk membuka tab editor dan edit task pembuatan tabel.

      1. Edit kode SQL.

        CREATE EXTERNAL TABLE IF NOT EXISTS ods_user_info_d_emr
        (
            `uid` STRING COMMENT 'User ID',
            `gender` STRING COMMENT 'Gender',
            `age_range` STRING COMMENT 'Age range',
            `zodiac` STRING COMMENT 'Zodiac sign'
        ) PARTITIONED BY (
          dt STRING
        )
        ROW FORMAT  delimited fields terminated by '|'
        LOCATION 'oss://dw-emr-demo/ods_user_info_d/';
        
        ALTER TABLE ods_user_info_d_emr ADD IF NOT EXISTS PARTITION (dt='${bizdate}')
        LOCATION 'oss://dw-emr-demo/ods_user_info_d/user_${bizdate}/';
        Catatan

        location dalam kode adalah jalur contoh yang harus sesuai dengan jalur tujuan yang Anda konfigurasi di task sinkronisasi offline. Ganti dengan jalur file aktual Anda. Dalam jalur tersebut, dw-emr-demo adalah nama Bucket OSS yang Anda buat saat menyiapkan lingkungan.

      2. Konfigurasikan properti penjadwalan.

        Parameter

        Konfigurasi

        Scheduling Parameters

        Di bagian Scheduling Parameters, tambahkan parameter berikut:

        • Nama Parameter: bizdate

        • Nilai: $[yyyymmdd-1]

        Time attribute

        Atur RUN Attribute menjadi Rerun regardless of success or failure.

        Scheduling Dependency

        Di bagian Scheduling Dependency, pastikan tabel telah diatur sebagai output untuk node ini.

        Formatnya adalah WorkspaceName.NodeName.

      3. Setelah konfigurasi selesai, klik image untuk menyimpan node.

    • Buat tabel ods_raw_log_d_emr.

      Klik ganda node ods_raw_log_d_emr dan edit task untuk membuat tabel ods_raw_log_d_emr.

      1. Edit kode SQL.

        -- Create the destination table for OSS log data.
        CREATE EXTERNAL TABLE IF NOT EXISTS ods_raw_log_d_emr
        (
          `col` STRING
        ) PARTITIONED BY (
          dt STRING
        );
        ALTER TABLE ods_raw_log_d_emr ADD IF NOT EXISTS PARTITION (dt='${bizdate}')
        LOCATION 'oss://dw-emr-demo/ods_raw_log_d/log_${bizdate}/';
        Catatan

        location dalam kode adalah jalur contoh yang harus sesuai dengan jalur tujuan yang Anda konfigurasi di task sinkronisasi offline. Ganti dengan jalur file aktual Anda. Dalam jalur tersebut, dw-emr-demo adalah nama Bucket OSS yang Anda buat saat menyiapkan lingkungan.

      2. Konfigurasikan properti penjadwalan.

        Parameter

        Konfigurasi

        Scheduling Parameters

        Di bagian Scheduling Parameters, tambahkan parameter berikut:

        • Nama Parameter: bizdate

        • Nilai: $[yyyymmdd-1]

        Time attribute

        Atur RUN Attribute menjadi Rerun regardless of success or failure.

        Scheduling Dependency

        Di bagian Scheduling Dependency, pastikan tabel telah diatur sebagai output untuk node ini.

        Formatnya adalah WorkspaceName.NodeName.

      3. Setelah konfigurasi selesai, klik image untuk menyimpan node.

4. Jalankan Tugas dan Lihat Hasil

Jalankan workflow

  1. Di halaman Pengembangan Data, klik ganda workshop_emr di bawah Workflow, lalu di panel workflow yang terbuka, klik ikon image.png di bilah alat untuk menjalankan workflow berdasarkan dependensi hulu dan hilirnya.

  2. Konfirmasi status eksekusi.

    • Periksa status task yang sedang berjalan:

      • Ikon image.png pada node menunjukkan task berhasil dijalankan.

      • Ikon image dengan error java.net.ConnectException: Connection timed out (Connection timed out) menunjukkan adanya masalah konektivitas jaringan. Untuk mengatasinya, tambahkan aturan grup keamanan di Konsol ECS yang mengizinkan lalu lintas masuk pada Port 10000 dari Blok CIDR vSwitch VPC kelompok sumber daya Anda. Untuk menemukan Blok CIDR vSwitch, buka daftar kelompok sumber daya dan klik Network Settings untuk kelompok sumber daya yang relevan. Untuk informasi lebih lanjut tentang cara menambahkan aturan grup keamanan, lihat Tambahkan aturan grup keamanan.

    • Untuk melihat log eksekusi, klik kanan node ods_user_info_d_emr dan ods_raw_log_d_emr dan pilih View Log. Output log berikut menunjukkan bahwa data telah berhasil disinkronkan.

      State:3(RUN) China Standard Time 2019
      Logview: China Standard Time 2019
      
      State:4(SUCCESS) China Standard Time 2019
      
      Total:20028R  442.8KB
      Exit SUCCESS
      
      INFO  Shell run successfully!
      Current task status: FINISH
      Cost Time: 48.309s

Lakukan kueri terhadap hasil sinkronisasi

  1. Buat node kueri ad hoc.

    Di panel navigasi sebelah kiri DataStudio, klik image.png untuk membuka panel kueri ad hoc. Klik kanan Ad Hoc Query, lalu pilih New Node>EMR Hive.

  2. Lakukan kueri terhadap tabel hasil.

    Jalankan pernyataan SQL berikut untuk memverifikasi bahwa data telah ditulis ke tabel ods_raw_log_d_emr dan ods_user_info_d_emr.

    -- Kolom partisi dalam kueri harus diperbarui ke tanggal bisnis. 
    -- Misalnya, jika task dijalankan pada 20191107, tanggal bisnis adalah 20191106 (hari sebelum tanggal eksekusi task).
    SELECT * from ods_user_info_d_emr where dt=your_business_date; 
    SELECT * from ods_raw_log_d_emr where dt=your_business_date; 

Langkah berikutnya

Sekarang Anda telah mempelajari cara menyinkronkan data log, Anda dapat melanjutkan ke tutorial berikutnya untuk mempelajari cara memproses dan menganalisisnya. Untuk informasi selengkapnya, lihat Proses data.