Referensi YAML alur kerja
Referensi untuk format ekspor/impor alur kerja YAML, termasuk bidang node, tepi, dan perbedaan versi.
Halaman ini mendokumentasikan format YAML yang Transformation Builder digunakan untuk mengekspor dan mengimpor alur kerja. Gunakan referensi ini ketika Anda perlu berbagi alur kerja antar lingkungan, menyimpannya dalam kontrol versi, atau mengintegrasikannya dengan sistem runtime eksternal.
Format tersebut memiliki dua versi. Versi 2 adalah format saat ini yang dihasilkan Transformation Builder saat ekspor. Ini mengatur node sebagai array datar dalam urutan topologis (cte_nodes) dengan sebuah edges array terpisah untuk koneksi. Versi 1 adalah format lama yang menggunakan sebuah nodes key dengan depends_on referensi inline untuk koneksi. Transformation Builder dapat mengimpor kedua versi tersebut, tetapi selalu mengekspor versi 2.
Bagaimana ekspor dibentuk
Generator ekspor membangun berkas YAML melalui empat langkah:
Pengurutan topologis node. Graf node dan edge diurutkan sehingga node sumber berada di depan, diikuti oleh node transformasi dalam urutan ketergantungan, dan akhirnya node Output. Jika graf mengandung siklus, digunakan urutan fallback (berdasarkan posisi daftar node).
Daftar sumber per node. Untuk setiap node, generator mengumpulkan daftar terurut ID node pendahulu dari edges di mana
targetsama dengan ID node saat ini. Misalnya, sebuah node SQL Transform dengan dua input akan memiliki sebuahsourcesdaftar yang berisi tepat dua ID dalam urutan yang benar.array cte_nodes. Setiap node ditulis sebagai sebuah record dalam
cte_nodesarray, dalam urutan topologis. Lihat struktur cte_nodes di bawah untuk detail field.Perakitan YAML tingkat atas. Generator menggabungkan
cte_nodesarray dengan daftar edges, metadata alur kerja, dan field opsional (viewport, schedule) ke dalam dokumen akhir.
Kunci tingkat atas
Akar dari berkas YAML versi 2 berisi kunci-kunci berikut:
version
Selalu
Nomor versi format. Selalu 2 untuk ekspor saat ini.
name
Selalu
Nama alur kerja.
description
Selalu
Deskripsi alur kerja. Dapat berupa string kosong.
output_node_id
Ketika sebuah node Output ada
ID dari node Output dalam alur kerja.
viewport
Ketika disetel dalam alur kerja
Posisi kanvas dan tingkat zoom: { x, y, zoom }. Digunakan untuk mengembalikan tata letak visual saat impor.
schedule
Saat jadwal diaktifkan
Jadwal eksekusi: { cron, timezone }. Cron default adalah 0 0 * * *, zona waktu default adalah UTC.
struktur cte_nodes
Setiap entri dalam cte_nodes array merepresentasikan satu node dalam graf alur kerja.
id
Pengidentifikasi unik node (string).
type
Tipe node. Salah satu dari: telematics, business, filter, resample, sql, arithmetic, custom, output.
label
Nama tampilan yang ditunjukkan di kanvas. Jika tidak disetel, menggunakan ID node sebagai gantinya.
description
Deskripsi node. Dapat berupa string kosong.
position
Koordinat kanvas sebagai { x, y }.
sources
Daftar terurut ID node pendahulu, diturunkan dari edges graf. Kosong untuk node sumber.
params
Parameter konfigurasi node. Field spesifik bergantung pada tipe node. Lihat Transformation Builder dokumentasi untuk detail parameter per tipe node.
width, height
Opsional. Dimensi kanvas untuk node, disertakan hanya ketika secara eksplisit disetel.
Pembersihan Params. Skema available_tables dan available_columns field dihapus dari params selama ekspor. Field-field ini diisi pada waktu runtime ketika Builder terhubung ke basis data dan tidak boleh disimpan dalam YAML.
Tipe SQL dengan beberapa sumber. Ketika sebuah node bertipe sql memiliki dua atau lebih sumber, ekspor menambahkan sebuah join_spec field ke dalam record. Ini adalah sebuah array dengan satu elemen yang berisi konfigurasi join:
Skema type nilai diambil dari join_type parameter node (dikonversi ke huruf kecil), dan on_condition diambil dari join_condition. Untuk node SQL dengan dua sumber, informasi join muncul di kedua params dan join_spec.
struktur edges
Skema edges array mendefinisikan koneksi antar node dalam graf alur kerja.
Setiap edge adalah sebuah objek dengan dua field:
source
ID dari node tempat edge berasal.
target
ID dari node tempat edge berakhir.
ID Edge dari antarmuka Builder tidak dipertahankan dalam ekspor. Saat impor, ID edge baru dihasilkan secara otomatis.
Impor
Deteksi versi
Builder menentukan versi format YAML menggunakan logika berikut:
Jika root berisi
version: 2atau kuncicte_nodes, berkas diproses sebagai versi 2.Jika tidak, versi 1 diharapkan.
Impor versi 2
Builder mengiterasi array cte_nodes urut. Untuk setiap record:
Skema
iddantypedibaca. Tipe dikonversi ke huruf kecil. Node dengan tipepythondilewati tanpa menimbulkan kesalahan.Parameter dibaca dari
paramskunci (atauconfigsebagai fallback). Untuk node bertipesql-, jika sebuahjoin_specfield ada dalam record, itu ditetapkan ke konfigurasi join node.Skema
edgesarray diurai menjadi pasangan sumber-target, dan ID edge baru dihasilkan.Skema
viewportdanschedulefield dipertahankan jika hadir dalam YAML.
Impor versi 1 (kompatibilitas mundur)
Berkas versi 1 menggunakan sebuah nodes key (array atau kamus) dan opsional sebuah edges array atau depends_on field di dalam setiap node.
Builder memproses berkas versi 1 sebagai berikut:
Tipe node yang didukung sama dengan versi 2:
telematics,business,filter,resample,sql,arithmetic,custom,output.Koneksi antar node dapat didefinisikan dengan dua cara: sebuah top-level
edgesarray, atau sebuahdepends_ondaftar di dalam setiap node.Skema
inputsdanoutputsfield pada setiap node dinormalisasi menjadi objek dengan{ name, type }struktur.Jika edges menyertakan
sourceHandleatautargetHandleidentifier port, impor menyesuaikan port node sesuai untuk tampilan yang benar dalam antarmuka Builder.
Template struktur YAML
Template berikut menunjukkan struktur lengkap dari berkas YAML versi 2 dengan anotasi:
Contoh
Contoh berikut menunjukkan sebuah alur kerja versi 2 lengkap yang membaca data sensor telematics, menggabungkannya dengan deskripsi sensor dari skema bisnis, menerapkan transformasi aritmetika untuk mengonversi tipe kolom, dan menulis hasilnya ke tabel output.
Alur kerja ini melakukan langkah-langkah berikut:
node-telematics-1 membaca
device_id,device_time, danvaluekolom dariinputstabel diraw_telematics_dataskema.node-business-1 membaca
sensor_id,device_id, dansensor_labeldarisensor_descriptiontabel diraw_business_dataskema.node-sql-1 menggabungkan kedua sumber pada
device_idmenggunakan sebuahLEFT JOIN, memilih semua kolom telematics ditambahsensor_labeldari sumber bisnis.node-arithmetic-1 menambahkan sebuah kolom terhitung
value_numdengan melakukan casting teksvaluekolom menjadi tipe numerik.node-output-1 mengonfigurasi hasil untuk ditulis ke
enriched_vehicle_metricstabel denganappendmode, menggunakandevice_iddandevice_timesebagai kunci utama.
Ekspor tidak menyertakan available_tables atau available_columns dalam params. Field-field ini diisi secara dinamis ketika Builder terhubung ke basis data. Untuk node SQL dengan dua sumber, informasi join muncul di kedua params dan join_spec.
Langkah selanjutnya
Transformation Builder: Pelajari cara merancang alur kerja menggunakan antarmuka visual.
Lapisan Transformasi: Pahami bagaimana data yang diproses diatur ke dalam skema dan bagaimana cara mengkuernya.
Last updated
Was this helpful?