Node shell DataWorks ditujukan untuk insinyur data. Node ini menjalankan skrip shell standar non-interaktif dan ideal untuk tugas otomatisasi, seperti pemrosesan file Object Storage Service (OSS) dan pemanggilan tool. Node ini telah terintegrasi dengan ossutil secara bawaan, memungkinkan akses aman ke OSS melalui file konfigurasi atau parameter baris perintah. Node ini juga mendukung injeksi parameter penjadwalan, referensi resource, serta ekstensi lingkungan runtime menggunakan custom image untuk memenuhi kebutuhan penjadwalan dan O&M tingkat produksi.
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.
Jenis node pemrosesan data
DataWorks menyediakan berbagai jenis node pemrosesan data. Anda dapat memilih node sesuai skenario bisnis untuk melakukan tugas pembersihan data skala besar. Pilihan Anda tidak terbatas pada skrip shell saja.
-
node sinkronisasi batch: Cocok untuk migrasi dan transformasi data skala besar, serta mendukung sinkronisasi data batch antar sumber data berbeda.
-
node MaxCompute SQL: Cocok untuk ETL berbasis SQL pada dataset masif dan mendukung komputasi terdistribusi.
-
Node shell (topik ini): Cocok untuk memanggil tool eksternal atau mengeksekusi logika skrip kustom.
-
Node Assignment dengan node for-each: Cocok untuk pemrosesan batch dalam loop. Node ini dapat melakukan iterasi melalui set data dan mengeksekusi operasi pada setiap item.
Penggunaan
-
Batasan sintaksis
-
Sintaksis shell standar didukung. Sintaksis interaktif tidak didukung.
-
-
Lingkungan runtime dan akses jaringan
-
Node shell dapat dijalankan pada kelompok sumber daya arsitektur tanpa server (disarankan) atau grup sumber daya eksklusif untuk penjadwalan (versi lama). Untuk membeli dan menggunakan kelompok sumber daya arsitektur tanpa server, lihat Gunakan kelompok sumber daya arsitektur tanpa server.
-
Ketika node shell dijalankan pada kelompok sumber daya arsitektur tanpa server, Anda harus menambahkan alamat IP atau Blok CIDR kelompok sumber daya arsitektur tanpa server ke daftar izin tujuan jika dikonfigurasi.
-
Saat menggunakan kelompok sumber daya arsitektur tanpa server, satu tugas mendukung konfigurasi maksimum
64CU. Untuk mencegah kekurangan sumber daya yang dapat memengaruhi startup tugas, kami menyarankan agar tidak melebihi16CU.
-
-
Perluas lingkungan pengembangan
-
Jika tugas Anda memerlukan lingkungan pengembangan tertentu, gunakan fitur custom image di DataWorks untuk membuat lingkungan yang sesuai kebutuhan Anda. Untuk informasi lebih lanjut, lihat Custom image.
-
-
Resource dan pemanggilan skrip ganda
-
Hindari memulai banyak proses anak dalam node shell. Karena node shell tidak memiliki batas resource, banyak proses anak dapat memengaruhi tugas lain yang berjalan pada grup sumber daya eksklusif untuk penjadwalan yang sama.
-
Ukuran kode tugas tidak boleh melebihi 128 KB.
-
Mulai cepat
Bagian ini menggunakan contoh yang menghasilkan "Hello DataWorks!" untuk memandu Anda melalui proses pembuatan, debugging, konfigurasi, dan penyebaran node shell.
Pengembangan node
-
Login ke Konsol DataWorks. Setelah beralih ke Wilayah target, klik di panel navigasi kiri, pilih ruang kerja target dari daftar drop-down, lalu klik Go to DataStudio.
-
Arahkan pointer ke ikon
dan pilih . Di kotak dialog Create Node, masukkan nama dan path untuk node tersebut. -
Di editor skrip, masukkan kode shell standar. Sintaksis interaktif tidak didukung.
echo "Hello DataWorks!" -
Setelah mengembangkan kode, klik ikon
, pilih kelompok sumber daya dan image target, lalu jalankan tugas node shell. -
Setelah skrip berhasil di-debug, klik Scheduling Settings di sisi kanan untuk mengonfigurasi kebijakan penjadwalan tingkat produksi, seperti waktu penjadwalan dan properti sumber daya. Hal ini memungkinkan node berjalan secara otomatis dan berkala. Untuk informasi lebih lanjut tentang cara mengonfigurasi properti penjadwalan node, lihat Konfigurasikan properti penjadwalan.
Penyebaran dan maintenance
-
Setelah mengonfigurasi properti penjadwalan tugas, Anda dapat melakukan commit node ke lingkungan pengembangan dan deploy ke lingkungan produksi untuk penjadwalan berkala.
-
Setelah node dideploy, node tersebut akan berjalan secara berkala sesuai jadwal. Klik ikon
di pojok kiri atas dan pilih di jendela pop-up navigasi untuk membuka O&M. Di panel navigasi kiri, pilih untuk melihat tugas berkala yang telah dideploy. Untuk deskripsi fitur lengkap, lihat Mulai menggunakan O&M.
Penggunaan lanjutan
Referensi resource
-
DataWorks memungkinkan Anda mengunggah resource untuk node shell melalui manajemen sumber daya. Untuk informasi lebih lanjut, lihat Kelola resource.
CatatanAnda harus melakukan commit resource sebelum node dapat mereferensinya. Jika tugas produksi perlu menggunakan resource tersebut, Anda juga harus mendeploy resource ke lingkungan produksi. Untuk informasi lebih lanjut, lihat Deploy tasks.
-
Di pohon direktori kiri DataStudio, temukan resource yang telah diunggah.
-
Klik kanan resource tersebut dan pilih Insert Resource Path untuk mereferensikan resource tersebut di node saat ini. Anda kemudian dapat menulis kode di halaman pengeditan node untuk menjalankan resource tersebut.
CatatanSetelah resource berhasil direferensikan, sistem secara otomatis menyisipkan komentar deklarasi, seperti
##@resource_reference{resource_name}, di bagian atas skrip.Komentar ini diperlukan agar DataWorks dapat mengidentifikasi dependensi resource dan secara otomatis memasang resource ke lingkungan eksekusi saat tugas dijalankan. Jangan mengubah atau menghapus komentar ini.
Parameter penjadwalan
Parameter penjadwalan diinjeksikan sebagai parameter posisional; nama variabel kustom tidak didukung. DataWorks meneruskan nilai dari Scheduling Settings node ke skrip shell sebagai parameter posisional berurutan, seperti $1, $2, dan $3. Ketika jumlah parameter melebihi sembilan, Anda harus menggunakan kurung kurawal, seperti ${10} dan ${11}, untuk memastikan penguraian yang benar. Pisahkan beberapa nilai parameter dengan spasi. Urutannya harus sesuai dengan posisi parameter dalam skrip.
Dalam contoh ini:
-
Parameter bawaan $1 diberi nilai tanggal bisnis: $bizdate.
-
Parameter kustom $2 diberi nilai tanggal bisnis: ${yyyymmdd}.
-
Parameter kustom $3 diberi nilai tanggal bisnis: $[yyyymmdd].
-
Jika nilai parameter berisi spasi, bungkus dengan tanda kutip. Seluruh konten di dalam tanda kutip dianggap sebagai satu parameter.
-
Untuk informasi lebih lanjut tentang cara mengonfigurasi dan menggunakan parameter penjadwalan, lihat Konfigurasikan dan gunakan parameter penjadwalan.
Akses OSS dengan ossutil
Node shell DataWorks mendukung tool baris perintah Alibaba Cloud OSS ossutil secara bawaan. Tool ini mendukung tugas seperti manajemen bucket, unggah dan unduh file, serta operasi batch. Anda dapat mengonfigurasi kredensial akses untuk menggunakan ossutil mengakses OSS melalui file konfigurasi atau parameter baris perintah.
-
Untuk mengakses OSS menggunakan parameter baris perintah, lihat Akses OSS dengan menggunakan parameter baris perintah.
-
Untuk mengakses OSS menggunakan file konfigurasi, lihat Akses OSS dengan menggunakan file konfigurasi.
Lampiran: Kode keluar skrip
Anda dapat menggunakan kode keluar skrip untuk menentukan lebih lanjut apakah skrip berhasil dijalankan.
-
Kode keluar 0: Menunjukkan keberhasilan.
-
Kode keluar -1: Menunjukkan proses dihentikan.
-
Kode keluar 2: Menunjukkan platform perlu menjalankan ulang tugas secara otomatis sekali.
-
Kode keluar lainnya: Menunjukkan kegagalan.
Berikut adalah contoh log runtime ketika node shell 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 node shell sama dengan kode keluar perintah terakhir yang dieksekusi.
Dokumen terkait
Untuk mempelajari cara menjalankan skrip Python pada node shell menggunakan perintah Python 2 atau Python 3, lihat Jalankan skrip Python pada node shell.
di pojok kiri atas dan pilih