Shell node DataWorks dirancang untuk engineer data dan mendukung eksekusi skrip shell standar dalam berbagai skenario, seperti operasi file serta interaksi data dengan OSS dan NAS. Anda dapat mengonfigurasi parameter penjadwalan, mereferensikan resource, mengakses OSS secara aman menggunakan tool ossutil yang telah dipra-instal, serta menjalankan node dengan mengaitkan Peran RAM.
Izin
Tambahkan akun RAM yang digunakan untuk pengembangan node ke ruang kerja target dan berikan peran developer atau administrator ruang kerja. Untuk detailnya, lihat Tambahkan anggota ke ruang kerja.
Catatan penggunaan
-
Batasan sintaksis
-
Sintaksis shell standar didukung. Sintaksis interaktif tidak didukung.
-
-
Lingkungan waktu proses dan akses jaringan
-
Saat menjalankan shell node pada kelompok sumber daya arsitektur tanpa server, jika layanan target memiliki daftar izin (allowlist) yang dikonfigurasi, Anda harus menambahkan alamat IP kelompok sumber daya arsitektur tanpa server ke allowlist aplikasi target.
-
Saat menggunakan kelompok sumber daya arsitektur tanpa server, satu task mendukung maksimal
64CU. Untuk mencegah kekurangan sumber daya dan keterlambatan startup task, jangan melebihi16CU.
-
-
Lingkungan pengembangan lanjutan
-
Jika task Anda memerlukan lingkungan pengembangan tertentu, Anda dapat menggunakan fitur custom image di DataWorks untuk membuat gambar kustom yang disesuaikan guna eksekusi task. Untuk informasi lebih lanjut, lihat Gunakan custom images.
-
-
Penggunaan sumber daya dan pemanggilan multi-skrip
-
Hindari meluncurkan sejumlah besar proses anak dalam shell node. Karena shell node saat ini tidak memiliki batasan sumber daya, proses anak yang berlebihan dapat memengaruhi task lain yang berjalan pada kelompok sumber daya penjadwalan yang sama.
-
Jika shell node memanggil skrip lain, seperti skrip Python, shell node akan menunggu hingga skrip yang dipanggil selesai sebelum node tersebut keluar.
-
Memulai dengan cepat
Bagian ini memandu Anda melalui proses pembuatan, debugging, konfigurasi, dan penerapan shell node menggunakan contoh yang menghasilkan output "Hello DataWorks!".
Kembangkan node
-
Masuk ke DataWorks console. Setelah beralih ke Wilayah target, klik pada panel navigasi sebelah kiri. Dari daftar tarik-bawah yang muncul, pilih ruang kerja target, lalu klik Data Analytics.
-
Di halaman Data Studio, buat shell node.
-
Masukkan kode shell standar di editor skrip (sintaksis interaktif tidak didukung):
echo "Hello DataWorks!" -
Setelah selesai mengembangkan kode, klik Debug Configuration di sisi kanan, pilih kelompok sumber daya debugging target dan parameter eksekusi lain yang diperlukan, lalu klik tombol
Run untuk memicu eksekusi debugging lokal. -
Setelah skrip lolos verifikasi debugging, klik Scheduling Settings di sisi kanan untuk mengonfigurasi kebijakan penjadwalan tingkat produksi, termasuk jadwal, dependensi, dan pengaturan parameter, sehingga node dapat dieksekusi secara otomatis sesuai periode yang direncanakan.
-
Setelah menyelesaikan konfigurasi penjadwalan task, Anda harus mengklik Save sebelum melanjutkan ke langkah berikutnya.
Terapkan dan operasikan node
-
Setelah menyelesaikan pengaturan jadwal, Anda dapat mengirimkan dan menerapkan shell node ke lingkungan produksi untuk mengubah statusnya dari pengembangan menjadi produksi. Untuk prosedur dan proses penerapan spesifik, lihat Deploy a node.
-
Setelah node diterapkan, task berjalan secara periodik sesuai jadwal yang Anda konfigurasi. Anda dapat mengklik ikon
di pojok kiri atas, lalu pada halaman navigasi yang muncul, pilih untuk membuka Operation Center. Kemudian, di panel navigasi kiri, buka untuk melihat task terjadwal yang telah diterapkan. Untuk informasi lebih lanjut, lihat Manage scheduled tasks.
Penggunaan lanjutan
Sumber daya referensi
-
DataWorks memungkinkan Anda mengunggah resource yang dibutuhkan dalam shell node ke DataWorks melalui manajemen sumber daya. Untuk detailnya, lihat Manage resources.
CatatanResource harus diterapkan sebelum dapat direferensikan oleh node. Jika task produksi memerlukan resource, Anda juga harus menerapkan resource tersebut ke lingkungan produksi.
-
Buka shell node yang telah Anda buat untuk masuk ke halaman editor skrip.
-
Klik
di panel navigasi kiri untuk membuka menu manajemen resource, lalu temukan resource yang ingin Anda referensikan. Klik kanan resource tersebut dan pilih reference resource untuk mereferensikannya dalam skrip shell.Catatan-
Setelah resource direferensikan, sistem secara otomatis menyisipkan komentar deklarasi dalam format
##@resource_reference{resource_name}di bagian atas skrip. -
Komentar ini diperlukan agar DataWorks dapat mengenali dependensi resource dan secara otomatis memasang resource yang sesuai ke lingkungan eksekusi saat runtime. Jangan mengubah atau menghapusnya secara manual.
-
Gunakan parameter penjadwalan
Parameter penjadwalan disuntikkan ke shell node sebagai parameter posisional. Nama variabel kustom tidak didukung. DataWorks meneruskan nilai parameter yang Anda konfigurasi di ke skrip shell sebagai parameter posisional seperti $1, $2, dan $3, secara berurutan. Saat jumlah parameter melebihi 9, gunakan sintaksis kurung kurawal seperti ${10} dan ${11} untuk memastikan penguraian yang benar. Pisahkan beberapa nilai parameter dengan spasi, dan pastikan urutannya sesuai secara ketat dengan referensi posisional dalam skrip.
Sebagai contoh, dalam kasus ini:
-
Parameter $1 diberi nilai waktu saat ini: $[yyyymmdd].
-
Parameter $2 diberi nilai tetap:
Hello DataWorks.
-
Jika nilai parameter berisi spasi, bungkus dengan tanda kutip. Seluruh konten di dalam tanda kutip dianggap sebagai satu parameter.
-
Untuk mendapatkan parameter output dari node hulu, tambahkan parameter di dan atur nilai parameternya ke parameter output dari node hulu.
Gunakan ossutil untuk mengakses OSS
Shell node DataWorks secara native mendukung tool baris perintah Alibaba Cloud OSS ossutil, yang memungkinkan Anda mengelola bucket, mengunggah dan mengunduh file, serta melakukan operasi batch. Anda dapat mengonfigurasi kredensial akses menggunakan file konfigurasi atau parameter baris perintah untuk mengakses OSS dengan ossutil.
-
Untuk menggunakan ossutil mengakses OSS melalui parameter baris perintah, lihat Use command-line parameters.
-
Untuk menggunakan ossutil mengakses OSS melalui file konfigurasi, lihat Use a configuration file.
Di Data Studio versi baru, khusus untuk shell node, selain dua metode di atas, Anda dapat mengaitkan Peran RAM dan menggunakan Alibaba Cloud STS (Security Token Service) untuk mendapatkan kredensial keamanan temporary secara dinamis untuk peran tersebut, lalu menggunakan ossutil untuk mengakses OSS. Metode ini memungkinkan Anda mengakses sumber daya cloud target secara aman tanpa hardcoding kredensial AccessKey jangka panjang dalam kode Anda. Untuk detailnya, lihat Associate a RAM role to run a node.
ossutil telah dipra-instal di lingkungan DataWorks. Anda tidak perlu menginstalnya secara manual. Jalur default-nya adalah /home/admin/usertools/tools/ossutil64.
Gunakan dataset untuk mengakses OSS atau NAS
DataWorks memungkinkan Anda membuat dataset OSS atau NAS, lalu mereferensikan dataset tersebut dalam pengembangan shell node untuk membaca dan menulis ke penyimpanan OSS atau NAS selama eksekusi shell node.
Jalankan node dengan menggunakan peran terkait
Anda dapat mengaitkan Peran RAM untuk menjalankan node, yang memungkinkan Anda menjalankan task node dengan Peran RAM tertentu guna kontrol izin detail halus dan manajemen keamanan.
Lampiran: Kode keluar skrip
Anda dapat menggunakan kode keluar skrip untuk lebih lanjut menentukan apakah skrip berhasil dijalankan.
-
Kode keluar 0: Menunjukkan keberhasilan.
-
Kode keluar -1: Menunjukkan proses dihentikan.
-
Kode keluar 2: Menunjukkan bahwa platform perlu menjalankan ulang task secara otomatis sekali.
-
Kode keluar lainnya: Menunjukkan kegagalan.
Berikut ini adalah contoh log waktu proses saat shell node berhasil dijalankan (kode keluar 0).
INFO Exit code of the Shell command 0
INFO --- Invocation of Shell command completed ---
INFO Shell run successfully!
Karena mekanisme shell dasar, kode keluar seluruh skrip dalam shell node sama dengan kode keluar perintah terakhir yang dieksekusi.
di pojok kiri atas, lalu pada halaman navigasi yang muncul, pilih