Deploy Center di DataWorks merupakan peningkatan dari fitur penerbitan task di Data Development. Fitur ini digunakan untuk menerbitkan objek—seperti node, fungsi, sumber daya, dan widget—ke berbagai lingkungan. Anda dapat menyinkronkan objek dari ruang kerja sumber ke ruang kerja target hanya dengan satu klik. Topik ini menjelaskan skenario umum, logika, serta proses penerbitan di Deploy Center.
Pengenalan fungsi
Di Deploy Center, operasi penerbitan memperlakukan objek seperti node, fungsi, sumber daya, dan widget sebagai unit eksekusi minimum. Alur bisnis terkait beserta dependensi node juga diterapkan ke ruang kerja target secara bersamaan. Untuk informasi selengkapnya, lihat Logika penerbitan.
Berdasarkan lingkungan penerbitan yang berbeda, Deploy Center di DataWorks mendukung penerbitan dalam ruang kerja yang sama, penerbitan lintas ruang kerja, dan penerbitan lintas cloud.
Penerbitan dalam ruang kerja yang sama
Fitur ini hanya tersedia untuk ruang kerja yang menggunakan mode standar dengan Data Studio versi baru. Fitur ini memungkinkan Anda menerbitkan secara batch objek seperti node, fungsi, sumber daya, dan widget dari lingkungan pengembangan ke lingkungan produksi dalam ruang kerja yang sama.
Penerapan lintas ruang kerja terutama digunakan untuk menerapkan objek seperti node, fungsi, sumber daya, dan komponen dari satu ruang kerja mode dasar ke ruang kerja mode dasar lainnya dalam Akun Alibaba Cloud dan Wilayah yang sama. Fitur ini juga memungkinkan Anda menerapkan isolasi lingkungan pengembangan dan produksi untuk ruang kerja mode dasar. Untuk informasi selengkapnya, lihat Mencapai isolasi lingkungan dalam mode dasar.
Fitur ini mendukung penerapan objek—seperti node, fungsi, sumber daya, dan komponen—lintas akun, Wilayah, atau platform cloud. Fitur ini hanya tersedia untuk ruang kerja yang menggunakan DataStudio lama. Pada dasarnya, fitur ini melakukan migrasi dan penerapan node dari ruang kerja sumber ke ruang kerja target yang berada di Wilayah, akun, atau platform cloud yang berbeda.
Logika perubahan saat penerbitan
Jika suatu node memiliki dependensi, node leluhurnya harus diterbitkan ke ruang kerja target sebelum node turunan tersebut dapat diterbitkan. Perubahan pada node yang telah diterbitkan adalah sebagai berikut:
Saat Anda menerbitkan suatu node, sistem mengganti awalan nama ruang kerja sumber dengan nama ruang kerja target pada input dan output semua node terkait. Jika node tersebut memiliki dependensi lintas ruang kerja, Anda juga dapat mengonfigurasi parameter Dependency Mappings untuk lingkungan penerbitan. Dependensi leluhur, dependensi turunan, serta nama input dan output node akan berubah setelah penerbitan sesuai konfigurasi Anda. Untuk informasi selengkapnya, lihat:
Saat Anda menerbitkan task yang menggunakan engine MaxCompute, sistem akan memodifikasi kode task tersebut dengan mengganti semua referensi nama ruang kerja sumber menjadi nama ruang kerja target. Untuk informasi selengkapnya, lihat Perubahan kode untuk task yang menggunakan engine MaxCompute.
Untuk mengonfigurasi pemetaan dependensi, lihat Konfigurasi lingkungan penerbitan. Untuk mengonfigurasi dependensi penjadwalan, lihat Konfigurasi dependensi penjadwalan.
Topik ini menggunakan contoh nama output dalam format
Nama Ruang Kerja.Nama Node. Nama output aktual dapat berbeda.
Tidak ada dependensi lintas ruang kerja
Node-node di project1 tidak memiliki dependensi lintas ruang kerja. Semua node dari project1 diterbitkan ke project2.
Setelah penerbitan, awalan project1 pada semua nama input dan output node diubah menjadi project2. Contohnya:
Nama input task_A berubah dari
project1_rootmenjadiproject2_root.Nama output task_A berubah dari
project1.task_Amenjadiproject2.task_A.
Terdapat dependensi lintas ruang kerja, tetapi tidak ada pemetaan dependensi lintas ruang kerja yang ditetapkan
project1.task_A memiliki dependensi lintas ruang kerja terhadap project2.task_A. Semua node dari project1 diterbitkan ke project3.
Setelah penerbitan, perubahan pada node adalah sebagai berikut:
Input dan output node: Awalan
project1pada semua nama input dan output node diubah menjadiproject3.Dependensi lintas ruang kerja node:
project1.task_Aawalnya memiliki dependensi lintas ruang kerja terhadapproject2.task_A. Setelah penerbitan,project3.task_Atetap memiliki dependensi lintas ruang kerja terhadapproject2.task_A.
Terdapat dependensi lintas ruang kerja, dan pemetaan dependensi lintas ruang kerja telah ditetapkan
project1.task_A memiliki dependensi lintas ruang kerja terhadap project2.task_A. Semua node dari project1 diterbitkan ke project4, dan pemetaan dependensi ditetapkan dari project2 ke project3.
Setelah penerbitan, perubahan pada node adalah sebagai berikut:
Input dan output node: Awalan
project1pada semua nama input dan output node diubah menjadiproject4.Dependensi lintas ruang kerja node:
project1.task_Aawalnya memiliki dependensi lintas ruang kerja terhadapproject2.task_A. Setelah penerbitan, dependensi lintas ruang kerjaproject4.task_Adiubah menjadiproject3.task_A.
Jika suatu node di ruang kerja sumber menggunakan nama output sistem untuk dependensi lintas ruang kerja, operasi penerbitan dapat gagal. Hal ini terjadi jika daftar dalam konfigurasi node mencakup nama output sistem dari ruang kerja lain. Untuk mengatasinya, ubah dependensi agar menggunakan nama output non-sistem.
Jangan mereferensikan nama output yang dihasilkan sistem:
Di ruang kerja yang Use Data Studio (New Version) tidak diaktifkan, nama output sistem berformat
Nama Ruang Kerja.ID File_out, misalnyashanghai_simple02.504822000_out.Referensikan nama output dalam format berikut:
Nama Ruang Kerja.Nama Tabel Output(Direkomendasikan)Nama Ruang Kerja.Nama Node
Perubahan kode untuk task yang menggunakan engine MaxCompute
Saat Anda menerbitkan task yang menggunakan engine MaxCompute, seperti task ODPS SQL atau ODPS Spark, ke ruang kerja target, sistem akan mengganti nama ruang kerja sumber dalam kode task tersebut dengan nama ruang kerja target saat dieksekusi.
Sebagai contoh, task_A adalah node ODPS SQL atau MaxCompute SQL. Di project1, kode untuk mengkueri table_A adalah SELECT * FROM project1.tableA. Semua node dari project1 kemudian diterbitkan ke project2.
Setelah node diterbitkan ke project2, kode untuk mengkueri table_A diubah menjadi SELECT * FROM project2.tableA.