全部产品
Search
文档中心

DataWorks:Model di code editor

更新时间:Dec 23, 2025

Setelah membuat tabel data, Anda dapat menggunakan pernyataan Fast Modeling Language (FML) di code editor untuk mengonfigurasi bidang dan partisi tabel. Topik ini menjelaskan cara menggunakan pernyataan FML untuk mengonfigurasi tabel data.

Fitur

Fast Modeling Language (FML) adalah bahasa yang menggunakan sintaks mirip SQL standar untuk merancang tabel data dalam pemodelan dimensional. Di DataWorks, desain model data (tabel logis) dipisahkan dari materialisasinya. Saat merancang tabel logis, Anda tidak perlu mempertimbangkan cara tabel tersebut dimaterialisasi pada berbagai mesin data besar. Mesin pemodelan menggunakan skema yang didefinisikan dalam FML untuk melakukan operasi pada mesin data besar yang mendasarinya. Selama materialisasi, mesin pemodelan mengonversi tabel logis menjadi tabel fisik untuk mesin yang Anda pilih, lalu menerjemahkan pernyataan FML ke dalam sintaks SQL yang dapat dikenali oleh mesin target dan menjalankannya.

Persiapan

DataWorks tidak mendukung pembuatan tabel data menggunakan FML. Anda harus terlebih dahulu membuat tabel logis melalui antarmuka visual. Jenis tabel yang dapat dibuat meliputi:

Batasan

  • DataWorks tidak mendukung penggunaan pernyataan FML untuk membuat tabel data atau mengubah nama tabel. Anda hanya dapat menggunakan pernyataan FML untuk operasi pengeditan pada tabel yang sudah ada, seperti mengedit bidang, mengonfigurasi asosiasi, dan mengonfigurasi partisi.

  • Anda hanya dapat menggunakan pernyataan FML untuk mematerialisasi tabel data ke mesin MaxCompute, Hologres, dan Hive.

  • FML menggunakan kata kunci SQL sebagai reserved words. Jika nama tabel atau nama bidang Anda merupakan kata kunci, Anda harus membungkusnya dengan backtick (``). Jika tidak, terjadi error saat Anda mengonfigurasi tabel.

Buka editor FML suatu tabel

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

  2. Pada halaman Table Details, klik Code Editor.

    Di editor FML pada tab Code Editor, Anda dapat melihat pernyataan FML CREATE TABLE untuk tabel tersebut. Anda juga dapat mengonfigurasi atau memodifikasi bidang-bidang tabel. Untuk informasi selengkapnya, lihat Konfigurasikan tabel.PixPin_2025-12-19_16-18-47

Konfigurasikan tabel

Untuk memudahkan referensi, semua pernyataan untuk mengonfigurasi tabel disajikan dalam format pernyataan CREATE TABLE. Perlu diperhatikan bahwa pemodelan data di DataWorks tidak mendukung pembuatan tabel menggunakan pernyataan FML. Saat menggunakan fitur ini, Anda hanya perlu merujuk pada pernyataan yang mendefinisikan konten tabel, seperti kendala dan partisi. Format pernyataan FML untuk mengonfigurasi tabel target adalah sebagai berikut:

--Buat tabel baru
      CREATE <table_type> TABLE
      IF NOT EXISTS
      --Nama tabel
      <table_name> [ALIAS <alias>]
      --Definisikan properti kolom
      <col_name> [ALIAS <alias>] <datatype> [<category>] [COMMENT <comment>] [WITH (<key>=<value>,....)]
      --Definisikan kendala
      PRIMARY KEY (<col_name>),
      --Kendala dimensi
      CONSTRAINT <constraint_name> DIM KEY (<col_name>) REFERENCES <ref_table_name> (<ref_table_col_name>),
      --Kendala hierarki
      CONSTRAINT <constraint_name> LEVEL <col_name:(<col_name>)>, --Kendala kelompok
      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. Disarankan agar nama terdiri dari huruf, angka, dan garis bawah (_) serta tidak lebih dari 128 karakter.

if not exists

Jika tabel dengan nama yang sama sudah ada di mesin target dan Anda tidak menentukan if not exists, terjadi error. Jika Anda menentukan if not exists, tabel berhasil dibuat, terlepas dari apakah tabel dengan nama yang sama sudah ada atau belum.

alias

Alias tabel atau bidang dalam tabel. Parameter ini biasanya digunakan untuk mendefinisikan nama dalam bahasa Mandarin untuk tabel data. Parameter ini bersifat opsional.

tableType

Jenis tabel yang akan dibuat. Anda dapat menggunakan pernyataan FML untuk membuat jenis tabel berikut:

  • Tabel dimensi

    • Tabel dimensi umum (NORMAL): Jenis default yang ditentukan saat Anda membuat tabel dimensi.

    • Tabel dimensi hierarki (LEVEL): Menyimpan data dengan hubungan hirarkis, seperti provinsi, kota, dan kabupaten.

    • Tabel dimensi enumerasi (ENUM): Menyimpan nilai-nilai enumerable umum, seperti laki-laki dan perempuan.

  • Tabel fakta

    • Tabel fakta transaksi (TRANSACTION): Jenis default yang ditentukan saat Anda membuat tabel fakta. Tabel ini mencatat fakta pada tingkat transaksi dan menyimpan data paling atomik.

    • Tabel fakta snapshot periodik (PERIODIC_SNAPSHOT): Menyimpan catatan fakta secara berkala dan dengan waktu yang dapat diprediksi. Tabel ini menghitung statistik untuk ukuran dalam rentang waktu tertentu, misalnya dari awal sejarah hingga saat ini atau dari awal tahun kalender hingga saat ini. Tabel ini memperbarui data menggunakan metode seperti pembaruan inkremental.

    • Tabel fakta snapshot akumulatif (ACCUMULATING_SNAPSHOT): Menyimpan informasi snapshot data transaksional untuk mengakumulasi data dalam periode yang tidak pasti. Misalnya, tabel fakta snapshot catatan pesanan dapat mencakup titik waktu tanggal pembayaran, tanggal pengiriman, dan tanggal penerimaan.

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

  • Tabel lookup: Juga dikenal sebagai tabel kode standar. Ini adalah tabel kode yang berisi atribut spesifik industri. Misalnya, di industri tenaga air, Anda dapat membuat kode standar untuk menandai apakah kontrak ada atau untuk jenis kontrak pasokan listrik.

comment

Komentar untuk tabel. Disarankan agar komentar tidak lebih dari 1.024 karakter.

columnDefinition

Definisi kolom tabel. Kolom ini dapat mencakup parameter berikut:

  • col_name: Nama kolom tabel. Terdiri dari huruf, angka, dan garis bawah (_). Jika nama kolom merupakan kata kunci FML, Anda harus membungkusnya dengan backtick (``).

  • alias: Alias kolom dalam tabel. Parameter ini biasanya digunakan untuk mendefinisikan nama dalam bahasa Mandarin untuk kolom tersebut. Parameter ini bersifat opsional.

  • dataType: Tipe data FML meliputi BIGINT, STRING, VARCHAR, CHAR, DECIMAL, dan DATETIME.

  • category: Digunakan untuk mengklasifikasikan kolom tabel. Dalam pemodelan dimensional, kolom dapat diklasifikasikan sebagai ATTRIBUTE, MEASUREMENT, atau CORRELATION.

Catatan

Pernyataan FML mendukung perancangan tabel terlebih dahulu dan materialisasi kemudian. Oleh karena itu, tabel yang baru dibuat tidak perlu memiliki informasi kolom.

constraint

Mendefinisikan kendala skema tabel. Nilai yang valid adalah:

  • Kendala KUNCI UTAMA (PrimaryConstraint): Formatnya adalah PRIMARY KEY(col1, col2). Bidang dalam daftar col1, col2 harus telah didefinisikan sebelumnya.

  • Kendala dimensi (DimConstraint): Formatnya adalah DIM KEY(col1, col2) REFERENCES table_name(ref1, ref2).

  • Kendala hierarki (LevelConstraint): Kendala ini hanya berlaku pada tabel dimensi hierarki. Kendala ini mendefinisikan level-level dalam dimensi hierarki.

Partitioned BY

Membuat partisi untuk tabel.

WITH

Informasi kustom yang dapat Anda definisikan saat membuat tabel. Gunakan format key=value. key dan value harus dibungkus dengan tanda kutip tunggal untuk mencegah konflik antara informasi kustom dan kata kunci FML. Properti ekstensi dalam klausa WITH dapat diurai dan diproses oleh mesin yang mematerialisasi pernyataan FML.