全部产品
Search
文档中心

DataWorks:Lanjutan: Analisis kategori produk terlaris

更新时间:Feb 13, 2026

DataWorks adalah platform pengembangan dan tata kelola data besar (big data) terpadu yang didukung oleh mesin data besar seperti MaxCompute, Hologres, E-MapReduce (EMR), AnalyticDB, dan CDP. Platform ini mendukung arsitektur gudang data (data warehouse), data lake, dan lakehouse. Tutorial ini menunjukkan cara melakukan ingesti data, mengatur alur kerja bisnis, menjadwalkan tugas periodik, serta membuat visualisasi data dengan DataWorks.

Mulai

Tutorial ini menggunakan skenario e-commerce untuk menunjukkan cara membangun Data Pipeline end-to-end—mulai dari ingesti data mentah hingga analisis dan visualisasi data. Mengikuti proses standar ini memungkinkan Anda membangun Alur kerja data yang dapat digunakan kembali secara cepat, memastikan Penjadwalan yang andal dan observabilitas operasional. Pendekatan ini memungkinkan pengguna bisnis mengubah data menjadi insight tanpa keahlian teknis mendalam dan mempermudah organisasi Anda dalam mengadopsi aplikasi data besar.

Dalam tutorial ini, Anda akan:

  1. Sinkronisasi Data: Gunakan modul Data Integration di DataWorks untuk membuat Tugas Batch tabel tunggal yang menyinkronkan data bisnis ke platform komputasi data besar, seperti MaxCompute.

  2. Pembersihan Data: Gunakan modul Data Studio di DataWorks untuk memproses, menganalisis, dan menambang data bisnis.

  3. Visualisasi Data: Gunakan modul Data Analysis di DataWorks untuk mengubah hasil analisis menjadi grafik yang mudah dipahami oleh pengguna bisnis.

  4. Penjadwalan Periodik: Konfigurasikan Penjadwalan Periodik untuk proses Sinkronisasi Data dan Pembersihan Data.

image

Dalam tutorial ini, Anda akan menggunakan Alur kerja berikut untuk menghasilkan peringkat harian kategori produk terlaris dengan menyinkronkan dan menganalisis data produk dan pesanan mentah dari sumber data publik ke MaxCompute:

image

Prasyarat

Untuk menyelesaikan tutorial ini, Anda memerlukan Akun Alibaba Cloud atau Pengguna RAM dengan izin AliyunDataWorksFullAccess. Untuk informasi selengkapnya, lihat Siapkan Akun Alibaba Cloud atau Siapkan Pengguna RAM.

Catatan

DataWorks menyediakan sistem izin komprehensif yang mendukung kontrol akses pada tingkat produk dan modul. Jika Anda memerlukan kontrol akses detail halus, lihat Ikhtisar sistem pengelolaan izin DataWorks.

Prasyarat

Aktifkan DataWorks

Tutorial ini menggunakan wilayah China (Shanghai) untuk menunjukkan cara memulai DataWorks. Anda harus masuk ke Konsol DataWorks, beralih ke wilayah China (Shanghai), dan periksa apakah DataWorks telah diaktifkan.

Catatan

Pilih wilayah berdasarkan lokasi data bisnis Anda:

  • Jika data bisnis Anda berada di layanan Alibaba Cloud lainnya, pilih wilayah yang sama dengan layanan tersebut.

  • Jika bisnis Anda on-premises dan memerlukan akses melalui jaringan publik, pilih wilayah terdekat untuk mengurangi latensi.

Pengguna baru

Jika Anda baru mengenal DataWorks, halaman berikut akan muncul, menunjukkan bahwa DataWorks belum diaktifkan di wilayah saat ini. Klik Purchase Product Portfolio for Free.

image

  1. Konfigurasikan parameter pada halaman pembelian.

    Parameter

    Deskripsi

    Contoh

    Region

    Pilih wilayah tempat Anda ingin mengaktifkan DataWorks.

    China (Shanghai)

    DataWorks edition

    Pilih edisi DataWorks yang ingin Anda beli.

    Catatan

    Tutorial ini menggunakan Basic Edition sebagai contoh. Semua edisi mendukung fitur yang dibahas dalam tutorial ini. Untuk informasi selengkapnya, lihat Edisi dan fitur DataWorks untuk memilih edisi yang paling sesuai dengan kebutuhan bisnis Anda.

    Basic Edition

  2. Klik Confirm Order and Pay untuk menyelesaikan pembayaran.

Telah diaktifkan tetapi kedaluwarsa

Jika Anda sebelumnya telah mengaktifkan DataWorks di wilayah China (Shanghai) tetapi layanan telah kedaluwarsa, prompt berikut akan muncul. Klik Purchase Edition.

image

  1. Konfigurasikan parameter pada halaman pembelian.

    Parameter

    Deskripsi

    Contoh

    Edition

    Pilih edisi DataWorks yang ingin Anda beli.

    Catatan

    Tutorial ini menggunakan Basic Edition sebagai contoh. Semua edisi mendukung fitur yang dibahas dalam tutorial ini. Untuk informasi selengkapnya, lihat Edisi dan fitur DataWorks untuk memilih edisi yang paling sesuai dengan kebutuhan bisnis Anda.

    Basic Edition

    Region

    Pilih wilayah tempat Anda ingin mengaktifkan DataWorks.

    China (Shanghai)

  2. Klik Buy Now untuk menyelesaikan pembayaran.

Penting

Jika Anda tidak dapat menemukan edisi DataWorks yang telah Anda beli, coba langkah-langkah berikut:

  • Tunggu beberapa menit dan refresh halaman, karena mungkin terjadi penundaan sistem.

  • Pastikan wilayah saat ini sesuai dengan wilayah tempat Anda membeli edisi DataWorks. Jika wilayah tidak cocok, edisi tersebut tidak akan ditampilkan.

Sudah diaktifkan

Jika Anda telah mengaktifkan DataWorks di wilayah China (Shanghai), halaman ikhtisar DataWorks akan muncul. Anda dapat melanjutkan ke langkah berikutnya.

Buat ruang kerja

  1. Buka halaman Daftar Ruang Kerja DataWorks, beralih ke wilayah China (Shanghai), lalu klik Create Workspace.

  2. Pada halaman Create Workspace, masukkan Workspace Name kustom, aktifkan Use Data Studio (New Version), lalu klik Create Workspace.

    Catatan

    Mulai 18 Februari 2025, untuk Akun Alibaba Cloud yang membuat ruang kerja DataWorks pertamanya di wilayah China (Shanghai), versi baru Data Studio diaktifkan secara default. Akibatnya, parameter Use Data Studio (New Version) tidak ditampilkan.

Siapkan kelompok sumber daya

  1. Buka halaman Daftar Kelompok Sumber Daya DataWorks, beralih ke wilayah China (Shanghai), lalu klik Create Resource Group.

  2. Pada halaman pembelian kelompok sumber daya, konfigurasikan parameter berikut.

    Parameter

    Deskripsi

    Resource group name

    Masukkan nama kustom.

    VPC, vSwitch

    Pilih VPC dan vSwitch yang sudah ada. Jika tidak tersedia di wilayah saat ini, klik tautan konsol di deskripsi parameter untuk membuatnya.

    service-linked role

    Ikuti petunjuk di layar untuk membuat peran terkait layanan AliyunServiceRoleForDataWorks.

  3. Klik Buy Now untuk menyelesaikan pembayaran.

  4. Buka halaman Daftar Kelompok Sumber Daya DataWorks, beralih ke wilayah China (Shanghai), temukan kelompok sumber daya yang telah Anda buat, lalu klik Associate Workspace di kolom Actions.

  5. Pada halaman Associate Workspace, temukan ruang kerja DataWorks yang telah Anda buat dan klik Associate di kolom Actions-nya.

Aktifkan akses jaringan publik

Tutorial ini menggunakan data uji e-commerce publik yang diakses melalui jaringan publik. Secara default, kelompok sumber daya yang dibuat pada langkah sebelumnya tidak memiliki akses jaringan publik. Anda harus mengonfigurasi Gateway NAT Internet dan menambahkan Alamat IP Elastis (EIP) untuk Virtual Private Cloud (VPC) yang terkait dengan kelompok sumber daya agar dapat mengakses jaringan publik dan mengambil data.

  1. Masuk ke Konsol VPC - Gateway NAT Internet. Di bilah navigasi atas, beralih ke wilayah China (Shanghai), lalu klik Create Internet NAT Gateway. Konfigurasikan parameter berikut.

    Catatan

    Anda dapat mempertahankan nilai default untuk parameter yang tidak tercantum dalam tabel.

    Parameter

    Nilai

    Region

    China (Shanghai).

    Network and zone

    Pilih VPC dan vSwitch yang terkait dengan kelompok sumber daya.

    Anda dapat menemukan VPC dan vSwitch di halaman Daftar Kelompok Sumber Daya DataWorks. Beralih ke wilayah China (Shanghai), temukan kelompok sumber daya, lalu klik Network Settings di kolom Actions. Anda dapat menemukan VPC Binding dan vSwitch di bagian Data Scheduling & Data Integration. Untuk informasi selengkapnya tentang VPC, lihat Apa itu Virtual Private Cloud?.

    Network type

    Internet NAT Gateway.

    Elastic IP address (EIP)

    Pilih untuk membeli EIP baru.

    Create service-linked role

    Jika Anda membuat Internet NAT Gateway untuk pertama kalinya, buat peran terkait layanan dengan mengklik Create service-linked role.

  2. Klik Buy Now untuk menyelesaikan pembayaran dan membuat instans Internet NAT Gateway.

    image

  3. Setelah membuat instans Internet NAT Gateway, kembali ke konsol dan buat entri SNAT untuknya.

    Catatan

    Kelompok sumber daya hanya dapat mengakses jaringan publik melalui VPC ini setelah Anda mengonfigurasi entri SNAT.

    1. Di kolom Actions untuk instans baru, klik Manage, lalu klik tab Configure SNAT.

    2. Pada SNAT Entry List, klik Create SNAT Entry dan konfigurasikan parameter utama berikut:

      Parameter

      Nilai

      SNAT entry

      Pilih Specify VPC untuk memastikan semua kelompok sumber daya dalam VPC Internet NAT Gateway dapat mengakses jaringan publik menggunakan EIP yang dikonfigurasi.

      Select EIP

      Pilih EIP yang terikat pada instans Internet NAT Gateway saat ini.

      Setelah mengonfigurasi parameter untuk entri SNAT, klik OK untuk membuatnya.

    Pada SNAT Entry List, ketika Status entri SNAT baru berubah menjadi Available, VPC yang terkait dengan kelompok sumber daya telah memiliki akses jaringan publik.

Siapkan resource MaxCompute

Dalam tutorial ini, Anda akan membuat proyek MaxCompute dan mengasosiasikannya sebagai resource komputasi DataWorks. Anda akan menggunakan resource ini untuk mengingesti data dan melakukan analitik data besar.

  1. Buka halaman Daftar Ruang Kerja DataWorks, beralih ke wilayah China (Shanghai), temukan ruang kerja yang telah Anda buat, lalu klik namanya untuk membuka halaman Workspace Details.

  2. Di panel navigasi sebelah kiri, klik Computing Resource, lalu klik Associate Computing Resource dan pilih tipe MaxCompute. Konfigurasikan parameter utama berikut untuk membuat proyek MaxCompute dan mengasosiasikannya sebagai resource komputasi DataWorks.

    Catatan

    Anda dapat mempertahankan nilai default untuk parameter yang tidak tercantum dalam tabel.

    Parameter

    Deskripsi

    MaxCompute project

    Dari daftar drop-down, klik Create dan konfigurasikan parameter berikut:

    • Project name: Masukkan nama kustom yang unik secara global.

    • Billing method: Pilih Pay-as-you-go.

      Catatan

      Jika Pay-as-you-go tidak tersedia, klik Activate di sebelahnya untuk mengaktifkan layanan MaxCompute.

    • Default quota: Pilih kuota yang sudah ada dari daftar drop-down.

    Default access identity

    Pilih Alibaba Cloud account.

    Computing resource instance name

    Anda menggunakan nama ini untuk memilih resource komputasi saat menjalankan tugas. Gunakan nama deskriptif, seperti MaxCompute_Source.

  3. Klik OK.

Prosedur

Tutorial ini menunjukkan fitur inti DataWorks melalui contoh praktis.

Bayangkan sebuah platform e-commerce yang menyimpan informasi produk dan pesanannya dalam database MySQL. Tujuannya adalah menganalisis data ini secara berkala dan memvisualisasikan peringkat harian kategori produk terlaris.

Langkah 1: Sinkronisasi data

Buat sumber data

Pada langkah ini, buat Data Source MySQL untuk menghubungkan ke database sumber tutorial.

Catatan

Anda tidak perlu menyiapkan data bisnis sendiri. DataWorks menyediakan dataset sampel dalam database MySQL publik untuk tutorial ini. Buat Data Source MySQL untuk menghubungkannya.

  1. Buka halaman Pusat Manajemen DataWorks. Ubah wilayah menjadi China East 2 (Shanghai), pilih Ruang Kerja Anda dari daftar drop-down, lalu klik Go to Management Center.

  2. Di panel navigasi kiri, klik Data Sources untuk membuka halaman Data Source List. Klik Add Data Source, pilih tipe MySQL, lalu konfigurasikan parameter Data Source.

    Catatan
    • Anda dapat mempertahankan nilai default untuk parameter yang tidak disebutkan dalam tabel.

    • Saat menambahkan sumber data untuk pertama kalinya, Anda perlu menyelesaikan cross-service authorization. Ikuti prompt di layar untuk memberikan peran terkait layanan AliyunDIDefaultRole.

    Parameter

    Deskripsi

    Data Source Name

    Untuk tutorial ini, masukkan MySQL_Source.

    Configuration Mode

    Pilih Connection String Mode.

    Endpoint

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

    • Port: 3306

    Penting

    Data dalam tutorial ini hanya untuk latihan praktis dengan DataWorks. Data ini hanya untuk tujuan pengujian dan bersifat read-only dalam modul Data Integration.

    Database Name

    Masukkan retail_e_commerce.

    Username

    Masukkan workshop.

    Password

    Masukkan workshop#2017.

  3. Di bagian Connection Configuration, beralih ke tab Data Integration. Temukan kelompok sumber daya yang terikat pada ruang kerja Anda dan klik Test Network Connectivity di kolom Connectivity Status.

    Catatan

    Jika pengujian konektivitas untuk sumber data MySQL gagal, lakukan tindakan berikut:

    • Selesaikan langkah-langkah lanjutan dalam tool diagnostik konektivitas.

    • Periksa apakah Alamat IP Elastis (EIP) telah dikonfigurasi untuk VPC yang terikat pada kelompok sumber daya. Sumber data MySQL memerlukan kelompok sumber daya untuk memiliki akses jaringan publik. Untuk informasi selengkapnya, lihat Aktifkan akses jaringan publik untuk kelompok sumber daya.

  4. Klik Complete Creation.

Bangun pipeline sinkronisasi

Pada langkah ini, bangun pipeline sinkronisasi untuk menyinkronkan data produk dan pesanan e-commerce ke tabel MaxCompute untuk pemrosesan lebih lanjut.

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

  2. Di bagian atas halaman, beralih ke Ruang Kerja Anda. Di panel navigasi kiri, klik image untuk membuka halaman DataStudio.

  3. Di bagian Workspace Directories, klik image, pilih Create Workflow, lalu beri nama dw_quickstart.

  4. Pada kanvas alur kerja, seret node Zero Load dan dua node Batch Synchronization dari panel kiri ke kanvas. Konfigurasikan node Batch Synchronization sebagai berikut:

    • Data Source Type: MySQL

    • Data Destination Type: MaxCompute

    • Specific Type: Batch Synchronization Node

    Tabel berikut mencantumkan nama node dan fungsinya untuk tutorial ini:

    Tipe node

    Nama node

    Fungsi

    imageZero Load

    workshop

    Berfungsi sebagai titik masuk Alur kerja untuk mendefinisikan alur data yang jelas. Ini adalah tugas Dry-run yang tidak memerlukan kode.

    imageBatch Synchronization Node

    ods_item_info

    Menyinkronkan tabel sumber informasi produk item_info dari MySQL ke tabel ods_item_info di MaxCompute.

    imageBatch Synchronization Node

    ods_trade_order

    Menyinkronkan tabel sumber informasi pesanan trade_order dari MySQL ke tabel ods_trade_order di MaxCompute.

    Hubungkan node dengan menyeret dan melepas, jadikan node workshop sebagai node hulu untuk kedua node Batch Synchronization. Hasil akhirnya harus terlihat seperti ini:

    image
  5. Konfigurasikan penjadwalan alur kerja.

    Di sisi kanan kanvas alur kerja, klik Scheduling dan konfigurasikan parameter. Tabel berikut menjelaskan parameter utama untuk tutorial ini. Gunakan nilai default untuk semua parameter lainnya.

    Parameter penjadwalan

    Deskripsi

    Scheduling Parameters

    Atur parameter penjadwalan untuk seluruh alur kerja. Parameter ini dapat digunakan langsung oleh node dalam alur kerja.

    Untuk tutorial ini, atur menjadi bizdate=$[yyyymmdd-1] untuk mendapatkan tanggal hari sebelumnya.

    Catatan

    DataWorks menyediakan parameter penjadwalan yang memungkinkan nilai dinamis dalam kode Anda. Anda dapat mendefinisikan variabel dalam kode SQL dengan menggunakan format ${variable_name} dan memberikan nilai di Scheduling > Scheduling Parameters. Untuk format parameter yang didukung, lihat Format yang didukung untuk parameter penjadwalan.

    Scheduling Cycle

    Untuk tutorial ini, atur menjadi Daily.

    Scheduling Time

    Untuk tutorial ini, atur Scheduling Time menjadi 00:30. Alur kerja akan dimulai pada pukul 00:30 setiap hari.

    Scheduling Dependencies

    Alur kerja ini tidak memiliki dependensi hulu, sehingga Anda dapat membiarkannya tidak dikonfigurasi. Untuk manajemen terpadu, Anda dapat mengklik Use Workspace Root Node untuk melampirkan alur kerja ke node root ruang kerja.

    Node root ruang kerja diberi nama dalam format WorkspaceName_root.

Konfigurasikan tugas sinkronisasi

Node awal
  1. Pada kanvas alur kerja, arahkan kursor ke node workshop dan klik Open Node.

  2. Di sisi kanan editor node workshop, klik Scheduling dan konfigurasikan parameter. Tabel berikut menjelaskan parameter utama untuk tutorial ini. Anda dapat mempertahankan nilai default untuk parameter lainnya.

    Parameter penjadwalan

    Deskripsi

    Scheduling Type

    Untuk tutorial ini, atur menjadi Dry-run.

    Resource Group

    Untuk tutorial ini, pilih kelompok sumber daya arsitektur tanpa server yang dibuat di Buat kelompok sumber daya dan ikat ke ruang kerja.

    Node Dependency Configuration

    Karena workshop adalah node awal dan tidak memiliki dependensi hulu, Anda dapat mengklik Use Workspace Root Node agar alur kerja dipicu oleh node root ruang kerja.

    Node root ruang kerja diberi nama dalam format WorkspaceName_root.

  3. Klik Save di bilah alat node untuk menyimpan node.

Sinkronisasi informasi produk (ods_item_info)
  1. Pada kanvas alur kerja, arahkan kursor ke node ods_item_info dan klik Open Node.

  2. Konfigurasikan Data Source dan Resource Group.

    Parameter

    Deskripsi

    Source

    Data Source: MySQL_Source.

    Destination

    Data Source: Pilih resource komputasi MaxCompute yang diikat di Buat dan ikat resource komputasi MaxCompute. Contoh ini menggunakan MaxCompute_Source.

    Resource Group

    Pilih kelompok sumber daya arsitektur tanpa server yang dibeli di Buat kelompok sumber daya dan ikat ke ruang kerja.

  3. Konfigurasikan pengaturan sinkronisasi.

    1. Configure the Data Source and destination

      Catatan

      Anda dapat mempertahankan nilai default untuk parameter yang tidak disebutkan dalam tabel.

      Area konfigurasi

      Parameter

      Deskripsi

      Data Source

      Table

      item_info.

      Data Destination

      Table

      Klik Generate Destination Table Schema untuk membuat tabel MaxCompute dengan cepat. Tempel pernyataan berikut ke area Table Creation Statement lalu klik Create Table. Tabel ini menerima informasi produk dari sumber data.

      Table Creation SQL

      CREATE TABLE IF NOT EXISTS ods_item_info(
        `id`                              BIGINT COMMENT '',
        `cate_id`                         BIGINT COMMENT '',
        `cate_name`                       STRING COMMENT '',
        `commodity_id`                    BIGINT COMMENT '',
        `commodity_name`                  STRING COMMENT '',
        `desc_path`                       STRING COMMENT '',
        `duration`                        BIGINT COMMENT '',
        `features`                        STRING COMMENT '',
        `gmt_create`                      DATETIME COMMENT '',
        `gmt_modified`                    DATETIME COMMENT '',
        `is_deleted`                      BIGINT COMMENT '',
        `is_virtual`                      STRING COMMENT '',
        `item_id`                         BIGINT COMMENT '',
        `item_status`                     BIGINT COMMENT '',
        `last_offline_time`               DATETIME COMMENT '',
        `last_online_quantity`            BIGINT COMMENT '',
        `last_online_time`                DATETIME COMMENT '',
        `pict_url`                        STRING COMMENT '',
        `reserve_price`                   DECIMAL(38,18) COMMENT '',
        `secure_trade_ems_post_fee`       DECIMAL(38,18) COMMENT '',
        `secure_trade_fast_post_fee`      DECIMAL(38,18) COMMENT '',
        `secure_trade_ordinary_post_fee`  DECIMAL(38,18) COMMENT '',
        `shop_id`                         BIGINT COMMENT '',
        `shop_nick`                       STRING COMMENT '',
        `sub_title`                       STRING COMMENT '',
        `title`                           STRING COMMENT ''
      )
      COMMENT ''
      PARTITIONED BY (pt STRING) 
      lifecycle 36500;

      Partition Information

      Untuk tutorial ini, masukkan ${bizdate}. Variabel ini menggunakan nilai konstan untuk pengujian dan nilai dinamis untuk eksekusi terjadwal. Untuk informasi selengkapnya tentang format variabel dan konfigurasi di DataStudio, lihat Parameter penjadwalan.

    2. Konfirmasi Field Mapping dan Channel Control.

      DataWorks memetakan field sumber ke field tujuan yang sesuai. Anda juga dapat mengonfigurasi pengaturan seperti konkurensi tugas dan Kebijakan Data Kotor di panel Channel Control di sebelah kanan. Untuk tutorial ini, atur Policy for Dirty Data Records menjadi Disallow Dirty Data Records dan pertahankan pengaturan lainnya pada nilai default. Untuk informasi selengkapnya, lihat Konfigurasikan node sinkronisasi batch dalam mode wizard.

  4. Klik Save di bilah alat node untuk menyimpan node.

Sinkronisasi data pesanan (ods_trade_order)
  1. Pada kanvas alur kerja, arahkan kursor ke node ods_trade_order dan klik Open Node.

  2. Konfigurasikan Data Source dan Resource Group.

    Parameter

    Deskripsi

    Source

    Data Source: MySQL_Source.

    Destination

    Data Source: Pilih resource komputasi MaxCompute yang diikat di Buat dan ikat resource komputasi MaxCompute. Contoh ini menggunakan MaxCompute_Source.

    Resource Group

    Pilih kelompok sumber daya arsitektur tanpa server yang dibeli di Buat kelompok sumber daya dan ikat ke ruang kerja.

  3. Klik Next untuk mengonfigurasi tugas sinkronisasi.

    1. Configure the Data Source and destination

      Catatan

      Anda dapat mempertahankan nilai default untuk parameter yang tidak disebutkan dalam tabel.

      Area konfigurasi

      Parameter

      Deskripsi

      Data Source

      Table

      trade_order

      Data Destination

      Table

      Klik Generate Destination Table Schema untuk membuat tabel MaxCompute dengan cepat. Tempel pernyataan berikut ke area Table Creation Statement lalu klik Create Table. Tabel ini menerima informasi produk dari sumber data.

      Table Creation SQL

      CREATE TABLE IF NOT EXISTS ods_trade_order(
        `id`                BIGINT COMMENT '',
        `biz_type`          BIGINT COMMENT '',
        `buy_amount`        BIGINT COMMENT '',
        `buyer_id`          BIGINT COMMENT '',
        `buyer_memo`        STRING COMMENT '',
        `buyer_nick`        STRING COMMENT '',
        `end_time`          DATETIME COMMENT '',
        `gmt_create`        DATETIME COMMENT '',
        `gmt_modified`      DATETIME COMMENT '',
        `ip`                STRING COMMENT '',
        `is_parent`         BIGINT COMMENT '',
        `is_sub`            BIGINT COMMENT '',
        `item_id`           BIGINT COMMENT '',
        `item_price`        DECIMAL(38,18) COMMENT '',
        `logistics_status`  BIGINT COMMENT '',
        `memo`              STRING COMMENT '',
        `parent_order_id`   BIGINT COMMENT '',
        `pay_status`        BIGINT COMMENT '',
        `pay_time`          DATETIME COMMENT '',
        `seller_memo`       STRING COMMENT '',
        `shop_id`           BIGINT COMMENT '',
        `status`            BIGINT COMMENT '',
        `sub_order_id`      BIGINT COMMENT '',
        `total_fee`         DECIMAL(38,18) COMMENT ''
      )
      COMMENT ''
      PARTITIONED BY (pt STRING) 
      lifecycle 36500;

      Partition Information

      Untuk tutorial ini, masukkan ${bizdate}. Variabel ini menggunakan nilai konstan untuk pengujian dan nilai dinamis untuk eksekusi terjadwal. Untuk informasi selengkapnya tentang format variabel dan konfigurasi di DataStudio, lihat Parameter penjadwalan.

    2. Konfirmasi Field Mapping dan Channel Control.

      DataWorks memetakan field sumber ke field tujuan yang sesuai. Anda juga dapat mengonfigurasi pengaturan seperti konkurensi tugas dan Kebijakan Data Kotor di panel Channel Control di sebelah kanan. Untuk tutorial ini, atur Policy for Dirty Data Records menjadi Disallow Dirty Data Records dan pertahankan pengaturan lainnya pada nilai default. Untuk informasi selengkapnya, lihat Konfigurasikan node sinkronisasi batch dalam mode wizard.

  4. Klik Save di bilah alat node untuk menyimpan node.

Langkah 2: Bersihkan dan proses data

Setelah menyinkronkan data ke MaxCompute, gunakan modul DataStudio untuk membersihkan, memproses, dan menganalisis tabel ods_item_info dan ods_trade_order guna menghasilkan peringkat harian kategori produk terlaris.

Bangun pipeline pemrosesan data

  1. Di panel navigasi kiri DataStudio, klik image untuk membuka halaman DataStudio. Di bagian Workspace Directories, temukan dan klik alur kerja yang telah Anda buat. Pada kanvas alur kerja, seret node SQL MaxCompute dari panel kiri dan beri nama sesuai kebutuhan.

    Tabel berikut menunjukkan contoh nama node dan fungsinya untuk tutorial ini:

    Tipe node

    Nama node

    Fungsi

    imageMaxCompute SQL

    dim_item_info

    Memproses data produk dari tabel ods_item_info untuk membuat tabel Dimensi dim_item_info.

    imageMaxCompute SQL

    dwd_trade_order

    Membersihkan dan mengubah data transaksi dari tabel ods_trade_order untuk membuat tabel Fakta dwd_trade_order.

    imageMaxCompute SQL

    dws_daily_category_sales

    Mengagregasi data detail yang telah dibersihkan dan distandarisasi dari tabel dwd_trade_order dan dim_item_info untuk menghasilkan tabel ringkasan penjualan kategori produk harian, dws_daily_category_sales.

    imageMaxCompute SQL

    ads_top_selling_categories

    Menghasilkan tabel peringkat harian kategori produk terlaris, ads_top_selling_categories, berdasarkan tabel dws_daily_category_sales.

  2. Seret dan lepas untuk menghubungkan node serta mengonfigurasi dependensi hulunya. Hasil akhirnya harus terlihat seperti ini:

    image
    Catatan

    Anda dapat mengatur dependensi dengan menghubungkan node secara manual atau mengaktifkan parsing otomatis kode dalam setiap node. Tutorial ini menggunakan metode koneksi manual. Untuk informasi selengkapnya tentang parsing otomatis, lihat Parsing dependensi otomatis.

Konfigurasikan node pemrosesan data

Node dim_item_info

Node ini memproses data dimensi produk dari tabel ods_item_info untuk menghasilkan tabel dimensi informasi produk, dim_item_info.

  1. Pada kanvas alur kerja, arahkan kursor ke node dim_item_info dan klik Open Node.

  2. Tempel kode berikut ke editor node.

    CREATE TABLE IF NOT EXISTS dim_item_info (
        gmt_modified                   STRING COMMENT 'Tanggal terakhir produk dimodifikasi',
        gmt_create                     STRING COMMENT 'Waktu pembuatan produk',
        item_id                        BIGINT COMMENT 'ID numerik produk',
        title                          STRING COMMENT 'Judul produk',
        sub_title                      STRING COMMENT 'Subjudul produk',
        pict_url                       STRING COMMENT 'URL gambar utama',
        desc_path                      STRING COMMENT 'Path deskripsi produk',
        item_status                    BIGINT COMMENT 'Status produk: 1 = disetujui, 0 = tidak disetujui',
        last_online_time               DATETIME COMMENT 'Waktu terakhir produk dijual',
        last_offline_time              DATETIME COMMENT 'Waktu akhir penjualan, menandai akhir siklus penjualan (hanya untuk barang lelang)',
        duration                       BIGINT COMMENT 'Masa berlaku atau siklus penjualan (7 atau 14 hari)',
        reserve_price                  DOUBLE COMMENT 'Harga saat ini',
        secure_trade_ordinary_post_fee DOUBLE COMMENT 'Biaya pos standar',
        secure_trade_fast_post_fee     DOUBLE COMMENT 'Biaya pengiriman ekspres',
        secure_trade_ems_post_fee      DOUBLE COMMENT 'Biaya pos EMS',
        last_online_quantity           BIGINT COMMENT 'Jumlah stok saat produk terakhir dicantumkan',
        features                       STRING COMMENT 'Fitur produk',
        cate_id                        BIGINT COMMENT 'ID kategori daun produk',
        cate_name                      STRING COMMENT 'Nama kategori daun produk',
        commodity_id                   BIGINT COMMENT 'ID kategori produk',
        commodity_name                 STRING COMMENT 'Nama kategori produk',
        is_virtual                     STRING COMMENT 'Menunjukkan apakah produk virtual',
        shop_id                        BIGINT COMMENT 'ID toko',
        shop_nick                      STRING COMMENT 'Nama panggilan toko',
        is_deleted                     BIGINT COMMENT 'Menunjukkan apakah kategori dihapus'
    )
    COMMENT 'Tabel dimensi informasi produk'
    PARTITIONED BY (pt STRING COMMENT 'Tanggal bisnis, yyyymmdd')
    LIFECYCLE 365;
    
    
    -- Masukkan data ke tabel dim_item_info
    INSERT OVERWRITE TABLE dim_item_info PARTITION(pt='${bizdate}')
    SELECT
        gmt_create,
        gmt_modified,
        item_id,
        title,
        sub_title,
        pict_url,
        desc_path,
        item_status,
        last_online_time,
        last_offline_time,
        duration,
        cast(reserve_price as DOUBLE),
        cast(secure_trade_ordinary_post_fee as DOUBLE),
        cast(secure_trade_fast_post_fee as DOUBLE),
        cast(secure_trade_ems_post_fee as DOUBLE),
        last_online_quantity,
        features,
        cate_id,
        cate_name,
        commodity_id,
        commodity_name,
        is_virtual,
        shop_id,
        shop_nick,
        is_deleted
    FROM ods_item_info
    WHERE pt = '${bizdate}';
  3. Konfigurasikan parameter waktu proses.

    Di sisi kanan editor node SQL MaxCompute, klik Running Configurations:

  4. Klik Save di bilah alat node untuk menyimpan node.

Node dwd_trade_order

Node ini melakukan pembersihan awal, transformasi, dan pemrosesan logika bisnis pada data transaksi detail dari tabel ods_trade_order untuk menghasilkan tabel fakta detail transaksi, dwd_trade_order.

  1. Pada kanvas alur kerja, arahkan kursor ke node dwd_trade_order dan klik Open Node.

  2. Tempel kode berikut ke editor node.

    CREATE TABLE IF NOT EXISTS dwd_trade_order (
        id               BIGINT COMMENT 'Kunci primer: ID terbaru setelah deduplikasi',
        gmt_create       DATETIME COMMENT 'Waktu pembuatan',
        gmt_modified     DATETIME COMMENT 'Waktu modifikasi',
        sub_order_id     BIGINT COMMENT 'ID sub-pesanan',
        parent_order_id  BIGINT COMMENT 'ID pesanan induk',
        buyer_id         BIGINT COMMENT 'ID numerik pembeli',
        buyer_nick       STRING COMMENT 'Nama panggilan pembeli (string kosong jika null)',
        item_id          BIGINT COMMENT 'ID numerik produk',
        item_price       DECIMAL(38,18) COMMENT 'Harga produk, dalam sen',
        buy_amount       BIGINT COMMENT 'Jumlah pembelian',
        biz_type         BIGINT COMMENT 'Tipe transaksi',
        memo             STRING COMMENT 'Memo (string kosong jika null)',
        pay_status       BIGINT COMMENT 'Status pembayaran',
        logistics_status BIGINT COMMENT 'Status logistik',
        status           BIGINT COMMENT 'Status',
        seller_memo      STRING COMMENT 'Memo penjual untuk transaksi',
        buyer_memo       STRING COMMENT 'Memo pembeli untuk transaksi',
        clean_ip         STRING COMMENT 'IP pembeli yang telah dibersihkan; filter format tidak valid',
        end_time         DATETIME COMMENT 'Waktu akhir transaksi',
        pay_time         DATETIME COMMENT 'Waktu pembayaran',
        is_sub           BIGINT COMMENT 'Menunjukkan apakah sub-pesanan (1 untuk ya)',
        is_parent        BIGINT COMMENT 'Menunjukkan apakah pesanan induk (1 untuk ya)',
        shop_id          BIGINT COMMENT 'ID toko',
        total_fee        DECIMAL(38,18) COMMENT 'Biaya sub-pesanan setelah diskon dan penyesuaian',
        is_large_order_flag BOOLEAN COMMENT 'Flag yang menunjukkan apakah pesanan bernilai besar'
    )
    COMMENT 'Tabel fakta detail transaksi, termasuk pembersihan awal dan logika bisnis'
    PARTITIONED BY (pt STRING COMMENT 'Tanggal bisnis, yyyymmdd')
    LIFECYCLE 365; -- Siklus hidup data diatur menjadi 365 hari
    
    
    INSERT OVERWRITE TABLE dwd_trade_order PARTITION(pt='${bizdate}')
    SELECT
        id,
        gmt_create,
        gmt_modified,
        sub_order_id,
        parent_order_id,
        buyer_id,
        COALESCE(buyer_nick, '') AS buyer_nick, -- Tangani buyer_nick null
        item_id,
        item_price,
        buy_amount,
        biz_type,
        COALESCE(memo, '') AS memo, -- Tangani memo null
        pay_status,
        logistics_status,
        status,
        seller_memo,
        buyer_memo,
        CASE 
            WHEN ip LIKE '__.__.__.__' THEN NULL -- Filter format IP tidak valid
            ELSE ip 
        END AS clean_ip,
        end_time,
        pay_time,
        is_sub,
        is_parent,
        shop_id,
        total_fee,
        CASE 
            WHEN total_fee >= 10000 THEN TRUE -- Anggap pesanan di atas 10.000 sen sebagai pesanan bernilai besar
            ELSE FALSE 
        END AS is_large_order_flag -- Tambahkan flag logika bisnis
    FROM (
        SELECT
            *,
            ROW_NUMBER() OVER(PARTITION BY buyer_id, item_id, gmt_create ORDER BY id DESC) AS rn -- Nomor baris untuk deduplikasi
        FROM ods_trade_order
        WHERE pt = '${bizdate}'
    ) AS sub_query
    WHERE rn = 1;
  3. Konfigurasikan parameter waktu proses.

    Di sisi kanan editor node SQL MaxCompute, klik Running Configurations:

  4. Klik Save di bilah alat node untuk menyimpan node.

Node dws_daily_category_sales

Node ini mengagregasi data detail yang telah dibersihkan dan distandarisasi dari tabel dwd_trade_order dan dim_item_info untuk menghasilkan tabel ringkasan penjualan kategori produk harian, dws_daily_category_sales.

  1. Pada kanvas alur kerja, arahkan kursor ke node dws_daily_category_sales dan klik Open Node.

  2. Tempel kode berikut ke editor node.

    CREATE TABLE IF NOT EXISTS dws_daily_category_sales (
        cate_id             BIGINT COMMENT 'ID kategori daun produk',
        cate_name           STRING COMMENT 'Nama kategori daun produk',
        total_sales_amount  DECIMAL(38,18) COMMENT 'Total jumlah penjualan kategori, dalam sen',
        order_count         BIGINT COMMENT 'Jumlah pesanan'
    )
    COMMENT 'Tabel ringkasan penjualan kategori produk harian'
    PARTITIONED BY (pt STRING COMMENT 'Tanggal bisnis, yyyymmdd')
    LIFECYCLE 365;
    
    
    INSERT OVERWRITE TABLE dws_daily_category_sales PARTITION(pt='${bizdate}')
    SELECT
        i.cate_id,
        i.cate_name,
        SUM(t.total_fee) AS total_sales_amount,
        COUNT(DISTINCT t.id) AS order_count
    FROM dwd_trade_order t
    JOIN dim_item_info i ON t.item_id = i.item_id AND t.pt = i.pt
    WHERE t.pt = '${bizdate}'
    GROUP BY t.pt, i.cate_id, i.cate_name;
  3. Konfigurasikan parameter waktu proses.

    Di sisi kanan editor node SQL MaxCompute, klik Running Configurations:

  4. Klik Save di bilah alat node untuk menyimpan node.

Node ads_top_selling_categories

Node ini menghasilkan tabel peringkat harian kategori produk terlaris, ads_top_selling_categories, berdasarkan tabel dws_daily_category_sales.

  1. Pada kanvas alur kerja, arahkan kursor ke node ads_top_selling_categories dan klik Open Node.

  2. Tempel kode berikut ke editor node.

    CREATE TABLE IF NOT EXISTS ads_top_selling_categories (
        rank                BIGINT COMMENT 'Peringkat penjualan',
        cate_id             BIGINT COMMENT 'ID kategori daun produk',
        cate_name           STRING COMMENT 'Nama kategori daun produk',
        total_sales_amount  DECIMAL(38,18) COMMENT 'Total jumlah penjualan untuk kategori produk, dalam sen',
        order_count         BIGINT COMMENT 'Jumlah pesanan'
    )
    COMMENT 'Tabel peringkat harian kategori produk terlaris'
    PARTITIONED BY (pt STRING COMMENT 'Tanggal bisnis, yyyymmdd');
    
    
    INSERT OVERWRITE TABLE ads_top_selling_categories PARTITION(pt='${bizdate}')
    SELECT
        rank,
        cate_id,
        cate_name,
        total_sales_amount,
        order_count
    FROM (
        SELECT
            DENSE_RANK() OVER(ORDER BY total_sales_amount DESC) AS rank,
            cate_id,
            cate_name,
            total_sales_amount,
            order_count
        FROM (
            SELECT
                cate_id,
                cate_name,
                SUM(total_sales_amount) AS total_sales_amount,
                SUM(order_count) AS order_count
            FROM dws_daily_category_sales
            WHERE pt = '${bizdate}'
            GROUP BY cate_id, cate_name
        ) agg_sub
    ) agg_outer
    WHERE rank <= 10;
  3. Konfigurasikan parameter waktu proses.

    Di sisi kanan editor node SQL MaxCompute, klik Running Configurations:

  4. Klik Save di bilah alat node untuk menyimpan node.

Langkah 3: Jalankan dan debug alur kerja

Setelah mengonfigurasi Alur kerja, jalankan untuk memverifikasi konfigurasinya sebelum menerapkannya ke Lingkungan produksi.

  1. Di panel navigasi kiri DataStudio, klik image untuk membuka halaman DataStudio, lalu temukan alur kerja yang telah Anda buat di bagian Workspace Directories.

  2. Klik Run di bilah alat node. Di kotak dialog Enter running parameters, masukkan tanggal hari sebelumnya (misalnya, 20250416).

    Catatan

    Node alur kerja menggunakan parameter penjadwalan untuk kode dinamis. Saat debugging, Anda harus memberikan nilai konstan ke parameter ini untuk pengujian.

  3. Klik OK untuk membuka halaman debugging run.

  4. Tunggu hingga proses selesai. Hasil yang diharapkan adalah sebagai berikut:

    image

Langkah 4: Kueri dan visualisasi data

Sekarang data mentah telah diproses dan diagregasi ke dalam tabel ads_top_selling_categories, Anda dapat mengkuerinya untuk melihat hasilnya.

  1. Klik ikon image di pojok kiri atas lalu klik All Products > Data Analysis > SQL Query.

  2. Di sebelah My Files, klik image > Create File. Masukkan File Name kustom lalu klik OK.

  3. Di editor SQL Query, masukkan pernyataan SQL berikut.

    SELECT * FROM ads_top_selling_categories WHERE pt=${bizdate};
  4. Di pojok kanan atas, pilih sumber data MaxCompute lalu klik OK.

  5. Klik tombol Run di bagian atas. Di halaman Cost Estimation, klik Run.

  6. Di hasil kueri, klik image untuk melihat grafik. Anda dapat mengklik ikon image di pojok kanan atas grafik untuk menyesuaikan gayanya.

  7. Anda juga dapat mengklik Save di pojok kanan atas grafik untuk menyimpannya sebagai kartu. Anda kemudian dapat melihatnya dengan mengklik Card (image) di panel navigasi kiri.

Langkah 5: Konfigurasikan penjadwalan periodik

Untuk mendapatkan pembaruan harian, terapkan Alur kerja ke Lingkungan produksi untuk eksekusi periodik.

Catatan

Parameter penjadwalan telah dikonfigurasi untuk alur kerja dan nodenya selama langkah sinkronisasi dan pemrosesan data. Anda hanya perlu menerapkan alur kerja ke lingkungan produksi. Untuk informasi selengkapnya tentang konfigurasi penjadwalan, lihat Konfigurasikan penjadwalan node.

  1. Klik ikon image di pojok kiri atas lalu klik All Products > Data Development and O&M > DataStudio (Data Development).

  2. Di panel navigasi kiri DataStudio, klik image untuk membuka halaman DataStudio. Beralih ke Ruang Kerja yang digunakan untuk tutorial ini, lalu temukan alur kerja yang telah Anda buat di bagian Workspace Directories.

  3. Klik Deploy di bilah alat node. Di panel deployment, klik Start Deployment to Production. Tunggu hingga langkah Build Package dan Prod Online Check selesai, lalu klik Deploy.

  4. Setelah status Prod Online berubah menjadi Complete, klik Perform O&M untuk membuka Pusat Operasi.

    image

  5. Di Auto Triggered Node O&M > Auto Triggered Nodes, Anda dapat melihat tugas periodik untuk Alur kerja (bernama dw_quickstart dalam tutorial ini).

  6. Untuk melihat tugas periodik untuk node anak dalam Alur kerja, klik kanan tugas periodik alur kerja tersebut lalu pilih View Internal Tasks.

    image

    Hasil yang diharapkan adalah sebagai berikut:

    image

Langkah selanjutnya

Pembersihan resource

Untuk membersihkan resource yang Anda buat dalam tutorial ini, ikuti langkah-langkah berikut:

  1. Batalkan deployment Node yang Dipicu Otomatis.

    1. Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi sebelah kiri, pilih Data Development and O&M > Operation Center. Di halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down lalu klik Go to Operation Center.

    2. Buka Auto Triggered Node O&M > Auto Triggered Nodes. Pilih kotak centang untuk semua Node yang Dipicu Otomatis yang telah Anda buat. Jangan batalkan deployment node root Ruang Kerja. Lalu, di bagian bawah halaman, klik Actions > Undeploy.

  2. Hapus node pengembangan data dan putuskan asosiasi Resource Komputasi MaxCompute.

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

    2. Di panel navigasi kiri Data Studio, klik ikon image untuk membuka halaman Data Development. Di bagian Workspace Directories, temukan dan klik kanan Alur kerja yang telah Anda buat, lalu klik Delete.

    3. Di panel navigasi kiri, klik image > Computing Resources. Temukan Resource Komputasi MaxCompute yang terasosiasi lalu klik Disassociate. Di kotak dialog konfirmasi, pilih kotak centang dan ikuti petunjuk di layar.

  3. Hapus Data Source MySQL.

    1. Masuk ke Konsol DataWorks. Di bilah navigasi atas, pilih wilayah yang diinginkan. Di panel navigasi sebelah kiri, pilih More > Management Center. Di halaman yang muncul, pilih ruang kerja yang diinginkan dari daftar drop-down lalu klik Go to Management Center.

    2. Di panel navigasi kiri, klik Data Sources. Di halaman Data Sources, temukan Data Source MySQL yang telah Anda buat, klik Delete di kolom Actions, lalu ikuti petunjuk di layar.

  4. Hapus proyek MaxCompute.

    Buka halaman Manajemen Proyek MaxCompute. Temukan proyek MaxCompute yang telah Anda buat, klik Delete di kolom Actions, lalu ikuti petunjuk di layar.

  5. Hapus Gateway NAT Internet dan lepas Alamat IP Elastis (EIP).

    1. Buka Konsol VPC - Gateway NAT Internet. Di bilah menu atas, ubah Wilayah menjadi China (Shanghai).

    2. Temukan Gateway NAT Internet yang telah Anda buat lalu klik image > Delete di kolom Actions. Di kotak dialog konfirmasi, pilih kotak centang Force Delete, lalu klik OK.

    3. Di panel navigasi kiri, klik Access to Internet > Elastic IP Addresses. Temukan EIP yang telah Anda buat lalu di kolom Actions, pilih image > Instance Management > Release. Di kotak dialog konfirmasi, klik OK.