全部产品
Search
文档中心

DataWorks:Mengembangkan template skrip

更新时间:Jul 06, 2025

Template skrip mendefinisikan proses kode SQL yang mencakup beberapa parameter input dan output. Anda dapat memperkenalkan satu atau lebih tabel sumber ke dalam proses kode SQL untuk menyaring, menggabungkan, dan menghasilkan tabel keluaran yang diperlukan untuk bisnis. Topik ini memberikan gambaran tentang template skrip serta menjelaskan definisi dan penggunaannya.

Ikhtisar template skrip

Pendahuluan

Dalam skenario bisnis nyata, banyak proses kode SQL memiliki kesamaan. Tabel input atau tabel output dari proses-proses ini mungkin memiliki skema yang sama atau tipe data yang kompatibel tetapi nama tabel berbeda. Dalam hal ini, pengembang dapat membuat template skrip berdasarkan proses kode SQL untuk menggunakan kembali kode SQL. Template skrip mengekstrak parameter input dari tabel input dan parameter output dari tabel output.

Saat membuat node SQL Snippet, Anda hanya perlu memilih template skrip yang ada dari daftar berdasarkan proses bisnis Anda dan mengonfigurasi parameter spesifik untuk tabel input dan tabel output. Dengan cara ini, Anda tidak perlu mengedit kode secara berulang, membantu mencegah operasi berulang selama pengembangan dan meningkatkan efisiensi. Node SQL Snippet yang dibuat dapat dijalankan seperti node SQL lainnya.

Izin

Untuk membuat dan menggunakan template skrip, Anda harus ditugaskan sebagai Development. Untuk informasi tentang cara menetapkan peran, lihat bagian Tambahkan pengguna RAM ke ruang kerja sebagai anggota dan tetapkan peran kepada anggota dari topik "Kelola izin pada layanan tingkat ruang kerja".

Batasan

  • Hanya DataWorks Edisi Standar atau edisi yang lebih canggih yang mendukung node SQL Snippet. Untuk informasi lebih lanjut, lihat Perbedaan antara edisi DataWorks.

  • Template skrip yang dibuat menggunakan akun anggota di ruang kerja saat ini tersedia di tab Workspace-Specific.

  • Template skrip yang dibuat dalam tenant tersedia di tab Public.

Jenis template skrip

Template skrip diklasifikasikan menjadi template skrip tingkat ruang kerja dan template skrip publik. Anda dapat menentukan jenis template skrip saat membuatnya.

  • Template Skrip Tingkat Ruang Kerja: Setelah diterapkan, hanya anggota di ruang kerja DataWorks saat ini yang dapat menggunakannya. Untuk informasi lebih lanjut, lihat bagian Tambahkan pengguna RAM ke ruang kerja sebagai anggota dan tetapkan peran kepada anggota dari topik "Kelola izin pada layanan tingkat ruang kerja".

  • Template Skrip Publik: Pengembang dapat membuat template skrip umum di tab Public, yang tersedia untuk semua pengguna dalam tenant saat ini.

Gunakan template skrip

Script templates yang dibuat di DataWorks harus bekerja sama dengan SQL Snippet nodes.

  1. Definisikan template skrip.

    Di panel Snippets DataStudio, pengembang dapat mengabstraksi proses kode SQL dan mendefinisikan parameter input dan output. Proses kode SQL memproses tabel input tertentu berdasarkan parameter input untuk menghasilkan tabel output dengan nilai bisnis berdasarkan parameter output. Parameter input dan output dikonfigurasi dalam format @@{Nama Parameter}.

    • Jenis parameter input yang didukung:

      • Tabel: Gunakan jenis ini jika hasil output adalah dari satu jenis.

      • String: Gunakan jenis ini jika nilai parameter input dikontrol berdasarkan variabel.

    • Jenis parameter output harus berupa Tabel.

  2. Referensikan template skrip.

    Di halaman DataStudio, Anda dapat membuat node SQL Snippet untuk mereferensikan template skrip yang diinginkan dan mengganti parameter input dan output untuk menggunakan kembali kode.

Definisikan template skrip

Pergi ke panel Snippets

  1. Pergi ke halaman DataStudio.

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

  2. Di panel navigasi sisi kiri halaman DataStudio, klik Snippets.

    Catatan

    Jika modul Snippets tidak ditampilkan di panel navigasi sisi kiri, klik ikon 设置 di pojok kiri bawah dan ikuti instruksi yang dijelaskan di Konfigurasikan pengaturan di bagian Modul DataStudio untuk menambahkan modul.

Buat dan konfigurasikan template skrip

Bagian ini menjelaskan cara membuat template skrip di panel Snippets. Pada sebagian besar kasus, template skrip terdiri dari parameter input, parameter output, dan proses kode SQL. Proses kode SQL mendefinisikan kode yang mengimplementasikan fitur template skrip. Parameter input dan output dikonfigurasi dalam format @@{Nama Variabel}.

Catatan

Template skrip dapat berisi beberapa parameter input dan output. Anda dapat mengonfigurasi parameter berdasarkan kebutuhan bisnis Anda.

过程体

Langkah 1: Buat template skrip

Di panel Snippets, Anda dapat menggunakan salah satu metode yang ditunjukkan pada gambar berikut untuk membuat dan menamai template skrip.创建组件

Catatan
  • Template skrip yang dibuat menggunakan akun anggota di ruang kerja saat ini tersedia di tab Workspace-Specific.

  • Template skrip yang dibuat dalam tenant tersedia di tab Public.

Langkah 2: Konfigurasikan template skrip

  1. Konfigurasikan Proses Kode SQL

    Proses kode SQL mendefinisikan kode yang mengimplementasikan fitur template skrip. Anda dapat mendefinisikan proses kode SQL abstrak untuk memperkenalkan parameter input dan output dalam format @@{Nama Parameter} ke template skrip. Saat menggunakan template skrip, Anda hanya perlu mengonfigurasi parameter input dan output spesifik untuk menghasilkan kode SQL yang dapat dieksekusi.

  2. Konfigurasikan Parameter Input

    Pada langkah ini, Anda dapat mengonfigurasi parameter input. Parameter input berupa tipe Table atau String.

    • Table: Gunakan tipe ini jika hasil output adalah dari satu jenis.

      Tabel berikut menjelaskan definisi parameter untuk parameter input bertipe tabel.

      Item

      Deskripsi

      Contoh

      Parameter Definition

      Definisi parameter adalah definisi teks dari skema tabel, termasuk nama bidang, tipe bidang, dan deskripsi bidang. Saat Anda menggunakan template skrip nanti, Anda harus menentukan tabel input yang berisi jumlah bidang yang sama dan tipe bidang yang kompatibel yang didefinisikan untuk parameter bertipe tabel. Jika Anda tidak menentukan tabel input yang berisi jumlah bidang yang sama dan tipe bidang yang kompatibel yang didefinisikan untuk parameter bertipe tabel, kesalahan akan dikembalikan saat template skrip dijalankan.

      Catatan

      Definisi parameter hanya untuk referensi dan tidak memicu pengecekan paksa segera.

      Kami sarankan Anda mendefinisikan parameter dalam format berikut:

      Nama Bidang 1 Tipe Bidang 1 Deskripsi Bidang 1 
      Nama Bidang 2 Tipe Bidang 2 Deskripsi Bidang 2 
      …
      Nama Bidang n Tipe Bidang n Deskripsi Bidang n

      Contoh:

      area_id string 'ID Wilayah' 
      city_id string 'ID Kota' 
      order_amt double 'Jumlah Pesanan'
    • String: Gunakan tipe ini jika nilai parameter input dikontrol berdasarkan variabel.

      Tabel berikut menjelaskan konfigurasi untuk parameter input bertipe string.

      Item

      Deskripsi

      Nilai Default

      Anda dapat menentukan nilai default untuk parameter bertipe string. Nilai default digunakan secara default saat template skrip digunakan.

      Skenario contoh

      • Skenario 1: Untuk mengekspor hanya jumlah penjualan N kota teratas di setiap wilayah dalam tabel output proses kode SQL, Anda dapat menggunakan parameter bertipe string untuk menentukan nilai N.

      • Skenario 2: Untuk mengekspor total jumlah penjualan provinsi dalam tabel output proses kode SQL, Anda dapat menggunakan parameter bertipe string untuk menentukan nama provinsi dan mendapatkan data penjualan provinsi yang ditentukan.

  3. Konfigurasikan Parameter Output

    Pada langkah ini, Anda dapat mengonfigurasi parameter output untuk mendefinisikan tabel yang akan dihasilkan dalam proses kode SQL. Untuk memudahkan penggunaan template skrip, Anda dapat menentukan skema tabel output untuk referensi.

    Tabel berikut menjelaskan definisi parameter untuk parameter output.

    Item

    Deskripsi

    Contoh

    Parameter Definition

    Definisi parameter adalah definisi teks dari skema tabel, termasuk nama bidang, tipe bidang, dan deskripsi bidang. Saat Anda menggunakan template skrip nanti, Anda harus menentukan tabel output yang berisi jumlah bidang yang sama dan tipe bidang yang kompatibel yang didefinisikan untuk parameter bertipe tabel. Jika Anda tidak menentukan tabel output yang berisi jumlah bidang yang sama dan tipe bidang yang kompatibel yang didefinisikan untuk parameter bertipe tabel, kesalahan akan dikembalikan.

    Catatan

    Definisi parameter hanya untuk referensi dan tidak memicu pengecekan paksa segera.

    Kami sarankan Anda mendefinisikan parameter dalam format berikut:

    Nama Bidang 1 Tipe Bidang 1 Deskripsi Bidang 1 
    Nama Bidang 2 Tipe Bidang 2 Deskripsi Bidang 2 
    …
    Nama Bidang n Tipe Bidang n Deskripsi Bidang n

    Selain itu, Anda dapat menambahkan bidang yang menunjukkan hasil output agregat ke definisi parameter berdasarkan kebutuhan bisnis Anda. Misalnya, Anda dapat menambahkan bidang peringkat atau bidang pendapatan.

    Contoh:

    area_id string 'ID Wilayah' 
    city_id string 'ID Kota' 
    order_amt double 'Jumlah Pesanan' 
    rank bigint 'Peringkat'

Langkah 3: Simpan dan commit template skrip

Di toolbar atas pada tab konfigurasi template skrip, klik ikon 保存 untuk menyimpan template skrip. Lalu, klik ikon 提交 untuk commit template skrip. Setelah template skrip dibuat, Anda dapat mereferensikan template skrip di node SQL Snippet. Untuk informasi lebih lanjut, lihat bagian Referensikan template skrip dalam topik ini.

Referensikan template skrip

Prasyarat

Referensikan template skrip

Di tab konfigurasi node SQL Snippet, ikuti langkah-langkah yang ditunjukkan pada gambar berikut untuk mereferensikan template skrip.image.png

  1. Pilih template skrip yang ingin Anda referensikan.

    Jika tidak ada template skrip yang tersedia, buat template skrip. Untuk informasi lebih lanjut, lihat bagian Definisikan template skrip dalam topik ini.

    • Jika template skrip yang Anda pilih memiliki versi terbaru, tentukan apakah akan mereferensikan versi terbaru template skrip berdasarkan kebutuhan bisnis Anda. Untuk mereferensikan versi terbaru template skrip, klik Update Code.

    • Klik Edit Snippet untuk melihat detail template skrip.

  2. Konfigurasikan parameter dalam template skrip berdasarkan kebutuhan bisnis Anda.

Apa yang harus dilakukan selanjutnya

Setelah Anda menyelesaikan pengembangan tugas menggunakan node yang dibuat, Anda dapat melakukan operasi berikut:

  • Konfigurasikan Properti Penjadwalan: Anda dapat mengonfigurasi properti untuk penjadwalan periodik node. Untuk informasi lebih lanjut, lihat Ikhtisar.

  • Debug Node: Anda dapat men-debug dan menguji kode node untuk memeriksa apakah logika kode sesuai dengan harapan Anda. Untuk informasi lebih lanjut, lihat Prosedur Debugging.

  • Terapkan Node: Setelah Anda menyelesaikan semua operasi pengembangan, Anda dapat menerapkan node. Untuk informasi lebih lanjut, lihat Terapkan Node.

Kelola template skrip

Bagikan template skrip dan lihat catatan referensi template skrip

Anda dapat membagikan template skrip atau melihat catatan referensi template skrip berdasarkan kebutuhan bisnis Anda.分享及查看引用记录

  • Bagikan Template Skrip: Setelah template skrip diterapkan, template skrip menjadi template skrip tingkat ruang kerja. Hanya anggota di ruang kerja saat ini yang dapat menggunakannya. Anda dapat mengklik ikon Publikasikan Snippet di toolbar atas pada tab konfigurasi template skrip umum untuk membuat template skrip tersedia untuk semua pengguna dalam tenant saat ini.

  • Lihat Catatan Referensi Template Skrip: Anda dapat melihat node yang mereferensikan template skrip saat ini di tab Node Snippet untuk memperkirakan dampak perubahan template skrip.

Tingkatkan template skrip

Operator: Pengembang

Anda dapat mengedit kode template skrip dan memodifikasi pengaturan parameter berdasarkan kebutuhan bisnis Anda. Setelah modifikasi disimpan dan template skrip direcommit, template skrip ditingkatkan ke versi baru. Anda dapat melihat detail setiap versi di tab Versi di panel navigasi sisi kanan pada tab konfigurasi template skrip.组件升级

Dampak perubahan versi pada penggunaan template skrip

Jika template skrip ditingkatkan dan Anda ingin mereferensikan templateskrip di node SQL Snippet Anda, Anda dapat menentukan apakah akan menggunakan versi terbaru template skrip. Jika Anda ingin menggunakan versi terbaru, periksa apakah pengaturan parameter dalam versi terbaru berlaku untuk node SQL Snippet Anda dan modifikasi konfigurasi sesuai dengan deskripsi template. Lalu, commit dan terapkan node SQL Snippet.image.png

Skema contoh

Pengembang C membuat template skrip versi V1.0. Pengguna A menggunakan template skrip V1.0. Kemudian, Pengembang C meningkatkan template skrip dari V1.0 ke V2.0. Pengguna A menemukan bahwa template skrip memiliki versi terbaru V2.0 selama penggunaan template skrip. Pengguna A dapat membuka template skrip dan melihat detail tentang versi terbaru. Jika versi terbaru template skrip dapat mencapai efek bisnis yang lebih baik, Pengguna A dapat memodifikasi konfigurasi untuk menggunakan versi terbaru.

Referensi lebih lanjut

Fitur pada tab konfigurasi template skrip

界面

Fitur

Deskripsi

Save

Menyimpan pengaturan template skrip saat ini.

Steal Lock

Memungkinkan Anda merebut kunci template skrip saat ini dan kemudian mengedit template skrip jika Anda bukan pemilik template skrip.

Submit

Mengirim template skrip saat ini ke lingkungan pengembangan.

Publish Snippet

Membuat template skrip umum tersedia untuk tenant saat ini. Dengan cara ini, semua pengguna dalam tenant dapat melihat dan menggunakan template skrip.

Parse I/O Parameters

Mengurai parameter input dan output dari kode.

Run

Menjalankan template skrip saat ini di lingkungan pengembangan.

Stop

Menghentikan template skrip saat ini yang sedang berjalan.

Format Code

Memformat kode berdasarkan kata kunci.

Parameters

Memungkinkan Anda melihat informasi dasar dan mengonfigurasi parameter input dan output untuk template skrip saat ini.

Versions

Memungkinkan Anda melihat versi terdeploy dari template skrip saat ini.

Snippet Nodes

Menampilkan catatan referensi dari template skrip saat ini.

Praktik terbaik

Prasyarat

Langkah 1: Definisikan template skrip

Buat template skrip bernama get_top_n. Untuk informasi lebih lanjut, lihat bagian Definisikan template skrip dalam topik ini. Deskripsi berikut menunjukkan konfigurasi template skrip.image.png

  • Pengaturan Parameter

    Kategori

    Parameter

    Tipe

    Deskripsi

    Definisi parameter

    Parameter input

    myinputtable

    tabel

    Menentukan tabel data penjualan.

    area_id string
    city_id string
    order_amt double
    rank bigint

    topn

    string

    Menentukan jumlah kota teratas.

    Tidak tersedia

    Parameter output

    myoutput

    tabel

    Menentukan tabel output yang menampilkan peringkat kota teratas yang ditentukan di setiap wilayah.

    area_id string
    city_id string
    order_amt double
    rank bigint
  • Definisi Proses Kode SQL

    INSERT OVERWRITE TABLE  @@{myoutput}  PARTITION (pt='${bizdate}')
     SELECT r3.area_id,
     r3.city_id,
     r3.order_amt,
     r3.rank
    from (
    SELECT
       area_id,
       city_id,
       rank,
       order_amt_1505468133993_sum as order_amt ,
       order_number_1505468133991_sum,
       profit_amt_1505468134000_sum
    FROM
       (SELECT
       area_id,
       city_id,
       ROW_NUMBER() OVER (PARTITION BY r1.area_id ORDER BY r1.order_amt_1505468133993_sum DESC) AS rank,
       order_amt_1505468133993_sum,
       order_number_1505468133991_sum,
       profit_amt_1505468134000_sum
    FROM
       (SELECT
       area AS area_id,
       city AS city_id,
       SUM(order_amt) AS order_amt_1505468133993_sum,
       SUM(order_number) AS order_number_1505468133991_sum,
       SUM(profit_amt) AS profit_amt_1505468134000_sum
    FROM
      @@{myinputtable}
    WHERE
       SUBSTR(pt, 1, 8) IN ( '${bizdate}' )
    GROUP BY
       area,
       city )
       r1 ) r2
    WHERE
       r2.rank >= 1 AND r2.rank <= @@{topn}
    ORDER BY
       area_id,
       rank limit 10000) r3;

Langkah 2: Gunakan template skrip

Buat node SQL Snippet bernama xc_Template Skrip Referensi_get_top_n, referensikan template skrip get_top_n yang Anda buat di Langkah 1, lalu konfigurasikan parameter. Gambar berikut menunjukkan prosedur konfigurasi parameter. Untuk informasi lebih lanjut tentang cara membuat node SQL Snippet dan mereferensikan template skrip, lihat bagian Referensikan template skrip dalam topik ini. image.pngPengaturan parameter:

  • Parameter input myinputtable: menentukan tabel input bernama company_sales_record sebagai sumber data. Skema tabel input:

    company_sales_record

    CREATE TABLE IF NOT EXISTS company_sales_record
    (
        order_id         STRING COMMENT 'ID Pesanan (PK)',
        report_date      STRING COMMENT 'Tanggal pembuatan pesanan',
        customer_name    STRING COMMENT 'Nama pelanggan',
        order_level      STRING COMMENT 'Tingkat pesanan',
        order_number     DOUBLE COMMENT 'Jumlah pesanan',
        order_amt        DOUBLE COMMENT 'Jumlah pesanan',
        back_point       DOUBLE COMMENT 'Diskon',
        shipping_type    STRING COMMENT 'Metode transportasi',
        profit_amt       DOUBLE COMMENT 'Jumlah keuntungan',
        price            DOUBLE COMMENT 'Harga satuan',
        shipping_cost    DOUBLE COMMENT 'Biaya transportasi',
        area             STRING COMMENT 'Wilayah',
        province         STRING COMMENT 'Provinsi',
        city             STRING COMMENT 'Kota',
        product_type     STRING COMMENT 'Jenis produk',
        product_sub_type STRING COMMENT 'Sub-jenis produk',
        product_name     STRING COMMENT 'Nama produk',
        product_box      STRING COMMENT 'Kemasan produk',
        shipping_date    STRING COMMENT 'Tanggal transportasi'
    ) 
    COMMENT 'Data penjualan detail'
    PARTITIONED BY
    (
        pt               STRING
    )
    LIFECYCLE 365;
  • Parameter input topn: menentukan jumlah kota teratas di setiap wilayah berdasarkan peringkat total jumlah penjualan kota dalam urutan menaik. Dalam contoh ini, parameter ini diatur ke 10.

  • Parameter output myoutput: menentukan tabel output bernama company_sales_top_n. Tabel output berisi hasil pemrosesan data. Skema tabel output:

    company_sales_top_n

    CREATE TABLE IF NOT EXISTS company_sales_top_n
    ( 
    area STRING COMMENT 'Wilayah', 
    city STRING COMMENT 'Kota', 
    sales_amount DOUBLE COMMENT 'Jumlah penjualan', 
    rank BIGINT COMMENT 'Peringkat'
    )
    COMMENT 'Peringkat penjualan perusahaan'
    PARTITIONED BY (pt STRING COMMENT '')
    LIFECYCLE 365;