Fitur penguraian otomatis membaca pernyataan SQL dalam kode suatu node untuk melakukan inferensi ketergantungan penjadwalan serta menambahkan output atau node leluhur secara otomatis tanpa konfigurasi manual. Topik ini menjelaskan cara kerja penguraian otomatis untuk setiap jenis node dan mencantumkan skenario di mana fitur tersebut tidak didukung.
Cara kerja penguraian otomatis
DataWorks memindai pernyataan SQL dalam kode suatu node. Berdasarkan kata kunci SQL yang ditemukan, DataWorks menentukan data apa yang dibaca dan ditulis oleh node tersebut:
-
Pernyataan tulis (CREATE, INSERT, dan sejenisnya) — DataWorks menambahkan output ke node tersebut. Nama output mengidentifikasi tabel yang ditulis oleh node.
-
Pernyataan baca (SELECT) — DataWorks menambahkan node leluhur ke node tersebut. Nama node leluhur mengidentifikasi tabel hulu yang sedang dibaca.
Sebagai contoh, jika Node A menulis ke orders_clean dan Node B membaca dari orders_clean, DataWorks secara otomatis menetapkan Node A sebagai leluhur dari Node B—tanpa perlu konfigurasi ketergantungan manual.
Konfigurasi berdasarkan jenis node
Tabel berikut menunjukkan pernyataan SQL yang memicu penguraian otomatis serta format nama output atau node leluhur yang dihasilkan oleh DataWorks.
| Jenis node | Pernyataan SQL | Yang ditambahkan DataWorks | Format nama output |
|---|---|---|---|
| Node ODPS | CREATE, INSERT | Output | odps_project_name.table_name |
| Node ODPS | SELECT | Node leluhur | project_name.table_name |
| Node SQL (non-ODPS) | CREATE, INSERT, ALTER, UPDATE | Output | Lihat tabel di bawah |
| Node SQL (non-ODPS) | SELECT | Node leluhur | project_name.table_name |
| Node sinkronisasi Batch | Semua | Tidak didukung | Konfigurasikan ketergantungan penjadwalan secara manual |
Format nama output untuk node SQL non-ODPS:
| Engine | Format |
|---|---|
| E-MapReduce (EMR) | workspace_name.db_name.table_name |
| AnalyticDB for PostgreSQL | workspace_name.db_name.schema_name.table_name |
| AnalyticDB for MySQL | workspace_name.db_name.schema_name.table_name |
| Hologres | workspace_name.db_name.schema_name.table_name |
Komponen format nama:
| Placeholder | Deskripsi |
|---|---|
odps_project_name |
Ruang kerja DataWorks tempat node ODPS berada |
project_name |
Ruang kerja yang memiliki node yang menghasilkan tabel tersebut |
workspace_name |
Ruang kerja DataWorks tempat node tersebut berada |
db_name |
Database tempat data ditulis |
schema_name |
Skema dari node tersebut |
table_name |
Nama tabel yang dihasilkan |
Batasan
Penguraian otomatis tidak berlaku dalam skenario berikut. Dalam kasus-kasus ini, tambahkan tabel tersebut secara manual ke Output node.
Jenis node yang tidak didukung
Beberapa jenis node tidak mendukung penguraian otomatis. Sebagai contoh, node sinkronisasi batch dan node AnalyticDB for PostgreSQL tidak dapat menggunakan penguraian otomatis untuk mengonfigurasi ketergantungan penjadwalan. Tabel yang dihasilkan oleh node-node tersebut harus ditambahkan secara manual ke output node.
Untuk memeriksa apakah jenis node tertentu mendukung penguraian otomatis, buka node tersebut di Konsol DataWorks dan periksa konfigurasinya.
Tabel temporary
Tabel temporary yang dibuat oleh pernyataan SQL tidak diurai secara otomatis. Misalnya, jika ruang kerja Anda memperlakukan tabel dengan awalan t_ sebagai tabel temporary, tabel-tabel tersebut tidak dapat ditambahkan secara otomatis ke Output atau Parent Nodes. Tambahkan secara manual jika diperlukan.
Tabel yang dihasilkan oleh node sinkronisasi
Setelah node sinkronisasi menghasilkan sebuah tabel, tambahkan tabel tersebut secara manual sebagai output node dalam format projectname.tablename. Setelah output ditambahkan, node turunan yang membaca dari tabel tersebut dapat menggunakan penguraian otomatis untuk mengonfigurasi ketergantungan penjadwalannya sendiri.