All Products
Search
Document Center

DataWorks:Pemodelan mode skrip

Last Updated:Feb 28, 2026

Setelah membuat tabel data, Anda dapat menggunakan Mode Skrip untuk mengonfigurasi informasi kolom dan partisi tabel tersebut dengan pernyataan FML. Topik ini menjelaskan cara menggunakan pernyataan FML untuk mengonfigurasi tabel data.

Pendahuluan

Fast Modeling Language (FML) adalah bahasa mirip SQL yang digunakan untuk membangun tabel data secara cepat dalam pemodelan dimensional. Sintaksnya berbasis pada SQL standar. Di DataWorks, pemodelan dimensional memisahkan desain dari implementasi. Selama fase desain, Anda tidak perlu mempertimbangkan detail implementasi spesifik dari berbagai mesin data besar. Mesin pemodelan menggunakan skema yang didefinisikan dalam FML untuk menjalankan operasi pada mesin dasar. Hanya selama materialisasi—proses mengubah tabel logis menjadi tabel fisik—mesin menerjemahkan FML ke sintaks SQL yang dapat dikenali oleh mesin target, lalu mengirimkan node untuk mengeksekusi pernyataan tersebut.

Prasyarat

DataWorks saat ini tidak mendukung pembuatan tabel data menggunakan pernyataan FML. Anda harus terlebih dahulu membuat tabel logis melalui antarmuka visual. Untuk informasi lebih lanjut, lihat topik-topik berikut:

Batasan

  • Anda tidak dapat membuat tabel data atau mengubah nama tabel menggunakan FML. Anda hanya dapat mengedit tabel data yang sudah ada, misalnya dengan memodifikasi kolom, mengonfigurasi hubungan, atau menyiapkan partisi.

  • Anda hanya dapat melakukan materialisasi tabel data yang dirancang dengan FML ke mesin MaxCompute, Hologres, dan Hive.

  • FML menggunakan kata kunci SQL sebagai kata tercadang. Jika nama tabel atau kolom Anda merupakan kata kunci, Anda harus membungkusnya dengan tanda backtick (``) untuk menghindari error.

Akses editor FML

  1. Pada halaman Dimensional Modeling, klik ganda nama tabel target di pohon direktori.

  2. Pada halaman Field Management, klik Script Mode.

    Di editor FML pada tab Script Mode, Anda dapat melihat pernyataan FML yang digunakan untuk membuat tabel saat ini. Anda juga dapat mengonfigurasi atau memodifikasi kolom tabel tersebut. Untuk informasi lebih lanjut, lihat Konfigurasikan tabel data target.PixPin_2025-12-19_16-18-47

Konfigurasikan tabel data target

Sebagai contoh, topik ini menyajikan contoh konfigurasi menggunakan sintaks lengkap CREATE TABLE. Namun, karena DataWorks tidak mengizinkan pembuatan tabel dengan FML, Anda hanya boleh menggunakan klausa yang mendefinisikan konten tabel, seperti kolom, constraint, dan partisi. Sintaks berikut menunjukkan cara mendefinisikan tabel target.

-- Buat tabel baru
      CREATE <table_type> TABLE
      IF NOT EXISTS
      -- Nama tabel
      <table_name> [ALIAS <alias>]
      -- Definisikan atribut Kolom
      <col_name> [ALIAS <alias>] <datatype> [<category>] [COMMENT <comment>] [WITH (<key>=<value>,....)]
      -- Definisikan constraint
      PRIMARY KEY (<col_name>),
      -- Constraint dimensi
      CONSTRAINT <constraint_name> DIM KEY (<col_name>) REFERENCES <ref_table_name> (<ref_table_col_name>),
      -- Constraint hierarki
      CONSTRAINT <constraint_name> LEVEL <col_name:(<col_name>)>, -- Constraint grup Kolom
      CONSTRAINT <constraint_name> COLUMN_GROUP(<col_name>,...), 
      -- Definisikan komentar
      COMMENT 'comment'
      -- Definisikan partisi
      PARTITION BY (col DATATYPE COMMENT 'comment' WITH ('key'='value',...), ...)
      -- Definisikan properti
      WITH ('key'='value', 'key1'='value1', ...)
      ;
      
tableType
    : dimDetailType? DIM
    | factDetailType? FACT
    | CODE
    | DWS
    ;
    
 dimDetailType
    : NORMAL
    | LEVEL
    | ENUM
    ;
    
 factDetailType
    : TRANSACTION
    | AGGREGATE
    | PERIODIC_SNAPSHOT
    | ACCUMULATING_SNAPSHOT
    | CONSOLIDATED
   ;
    
 
comment 
    : COMMENT 'comment'
    ;
  

Parameter

Deskripsi

tableName

Nama tabel data. Nama yang valid hanya berisi huruf, angka, dan garis bawah (_) serta panjangnya tidak lebih dari 128 karakter.

if not exists

Jika tabel dengan nama yang sama sudah ada di mesin target, operasi CREATE TABLE akan menghasilkan error tanpa klausa if not exists. Dengan klausa if not exists, operasi berhasil terlepas dari apakah tabel dengan nama yang sama sudah ada atau belum.

alias

Alias opsional untuk tabel data atau Kolom, sering digunakan sebagai nama tampilan.

tableType

Tipe tabel. FML mendukung tipe tabel berikut:

  • Tabel dimensi

    • Tabel dimensi umum (NORMAL): Tipe default saat Anda membuat tabel dimensi.

    • Tabel dimensi hierarki (LEVEL): Digunakan untuk menyimpan data dengan hubungan hierarkis, seperti provinsi, kota, dan kabupaten.

    • Tabel dimensi enumerasi (ENUM): Digunakan untuk menyimpan nilai enumerasi yang sering digunakan, seperti jenis kelamin.

  • Tabel fakta

    • Tabel fakta transaksi (TRANSACTION): Tipe default saat Anda membuat tabel fakta. Mencatat fakta pada tingkat transaksi dan menyimpan data paling atomik.

    • Tabel fakta snapshot periodik (PERIODIC_SNAPSHOT): Menyimpan catatan fakta pada interval reguler dan dapat diprediksi. Mengagregasi metrik selama periode tertentu, seperti year-to-date. Data dalam tabel jenis ini biasanya diperbarui secara inkremental.

    • Tabel fakta snapshot akumulatif (ACCUMULATING_SNAPSHOT): Menyimpan snapshot data transaksi dan digunakan untuk melacak perkembangan event sepanjang siklus hidup yang tidak dapat diprediksi. Misalnya, tabel snapshot pesanan dapat berisi timestamp untuk pembayaran, pengiriman, dan pengantaran.

  • Tabel DWS: Tabel agregat logis yang digunakan untuk menggabungkan metrik tertentu. Sintaks definisinya mirip dengan tabel dimensi dan fakta.

  • Tabel lookup: Juga dikenal sebagai tabel kode standar, berisi kode untuk atribut spesifik industri. Misalnya, di industri utilitas, Anda dapat membuat kode standar untuk keberadaan kontrak atau jenis kontrak pasokan listrik.

comment

Komentar tabel. Panjang maksimum yang disarankan adalah 1.024 karakter.

columnDefinition

Mendefinisikan Kolom tabel data menggunakan parameter berikut:

  • col_name: Nama Kolom. Nama yang valid hanya berisi huruf, angka, dan garis bawah (_). Bungkus nama dengan tanda backtick (``) jika merupakan kata kunci FML.

  • alias: Alias opsional untuk Kolom, sering digunakan sebagai nama tampilan.

  • dataType: Tipe data Kolom. Tipe data yang didukung meliputi BIGINT, STRING, VARCHAR, CHAR, DECIMAL, dan DATETIME.

  • category: Kategori Kolom. Dalam pemodelan dimensional, Kolom dapat dikategorikan sebagai ATTRIBUTE, MEASUREMENT, atau CORRELATION.

Catatan

Karena FML memisahkan desain dari materialisasi, Anda dapat mendefinisikan tabel tanpa menentukan Kolom apa pun.

constraint

Mendefinisikan constraint struktur tabel. Tipe berikut didukung:

  • Constraint primary key (PrimaryConstraint): Sintaks: PRIMARY KEY(col1, col2). Kolom col1 dan col2 harus didefinisikan dalam tabel.

  • Constraint dimensi (DimConstraint): Sintaks: DIM KEY(col1, col2) REFERENCES table_name(ref1, ref2).

  • Constraint hierarki (LevelConstraint): Hanya berlaku pada tabel dimensi hierarki. Mendefinisikan level berbeda dalam hierarki.

Partitioned BY

Mendefinisikan partisi tabel.

WITH

Saat membuat tabel, Anda dapat menentukan informasi kustom dalam format key=value. key dan value harus dibungkus dengan tanda kutip tunggal untuk mencegah konflik dengan kata kunci FML. Properti ekstensi dalam klausa WITH diurai dan diproses oleh mesin yang melakukan materialisasi pernyataan FML.