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
Pada halaman Dimensional Modeling, klik ganda nama tabel target di pohon direktori.
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.

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 |
alias | Alias opsional untuk tabel data atau Kolom, sering digunakan sebagai nama tampilan. |
tableType | Tipe tabel. FML mendukung tipe tabel berikut:
|
comment | Komentar tabel. Panjang maksimum yang disarankan adalah 1.024 karakter. |
columnDefinition | Mendefinisikan Kolom tabel data menggunakan parameter berikut:
Catatan Karena FML memisahkan desain dari materialisasi, Anda dapat mendefinisikan tabel tanpa menentukan Kolom apa pun. |
constraint | Mendefinisikan constraint struktur tabel. Tipe berikut didukung:
|
Partitioned BY | Mendefinisikan partisi tabel. |
WITH | Saat membuat tabel, Anda dapat menentukan informasi kustom dalam format |