All Products
Search
Document Center

DataWorks:Node Python

Last Updated:Jun 26, 2026

Node Python mendukung sintaksis Python 3, tetapi tidak mendukung sintaksis Python 2. Anda dapat menggunakan node Python untuk menjalankan kode Python dan menjadwalkan pekerjaan secara berkala. Topik ini menjelaskan cara mengonfigurasi dan menjadwalkan tugas Python di DataWorks.

Prasyarat

  • RAM user yang ingin Anda gunakan telah ditambahkan ke ruang kerja Anda.

    Jika Anda ingin menggunakan RAM user untuk mengembangkan tugas, tambahkan RAM user tersebut ke ruang kerja sebagai anggota dan berikan peran Develop atau Workspace Administrator. Peran Workspace Administrator memiliki izin lebih luas daripada yang diperlukan, sehingga berikan dengan hati-hati. Untuk informasi selengkapnya tentang cara menambahkan anggota dan memberikan peran, lihat Tambahkan anggota ke ruang kerja.

  • Kelompok sumber daya serverless telah dikaitkan dengan ruang kerja Anda. Untuk informasi selengkapnya, lihat topik dalam direktori Gunakan kelompok sumber daya serverless.

  • Buat node Python sebelum memulai pengembangan. Untuk informasi selengkapnya, lihat Buat node untuk alur kerja penjadwalan.

Catatan penggunaan

  • Saat menjalankan tugas menggunakan kelompok sumber daya serverless, satu tugas dapat menggunakan maksimal 64 CU. Namun, disarankan tidak melebihi 16 CU untuk mencegah kekurangan sumber daya yang dapat memengaruhi startup tugas.

  • Node Python hanya menyediakan lingkungan runtime Python dasar. Jika kode Python Anda memerlukan paket pihak ketiga, Anda harus membuat custom image, menginstal dependensi dalam image tersebut, lalu menjalankan node Python menggunakan image tersebut.

Langkah 1: Kembangkan node Python

  1. Kembangkan node Python.

    • Edit kode Python.

      Kode berikut memberikan contoh sederhana algoritma bubble sort.

      def bubble_sort(arr):
          n = len(arr)
          # Loop luar mengontrol setiap pass.
          for i in range(n):
              # Loop dalam melakukan perbandingan dan penukaran elemen yang berdekatan.
              for j in range(0, n-i-1):
                  # Jika elemen saat ini lebih besar dari elemen berikutnya, tukar posisinya.
                  if arr[j] > arr[j+1]:
                      arr[j], arr[j+1] = arr[j+1], arr[j]
          return arr
      
      # Uji kode.
      if __name__ == "__main__":
          example_list = [64, 34, 25, 12, 22, 11, 90]
          sorted_list = bubble_sort(example_list)
          print("Sorted list:", sorted_list)
  2. Setelah mengembangkan kode, klik Run Configuration di panel kanan. Konfigurasikan pengaturan untuk pengujian, seperti kelompok sumber daya, lalu klik tombol imageRun untuk menguji kode Anda.

    Catatan

    Node Python hanya dapat di-debug dan dijadwalkan menggunakan kelompok sumber daya serverless. Pastikan ruang kerja saat ini telah dilampirkan dengan kelompok sumber daya serverless. Untuk informasi selengkapnya, lihat Gunakan kelompok sumber daya serverless.

  3. Setelah mengembangkan dan menguji skrip node Python, konfigurasikan properti penjadwalan agar node dijalankan secara berkala.

  4. (Opsional) Konfigurasikan parameter penjadwalan.

    Node Python menerima parameter penjadwalan sebagai argumen command-line. Tambahkan nilai parameter secara berurutan di bagian konfigurasi parameter penjadwalan, pisahkan beberapa nilai dengan spasi. Dalam kode Anda, gunakan sys.argv[1], sys.argv[2], dan seterusnya untuk mengakses nilai parameter berdasarkan indeksnya.

    Catatan
    • Berbeda dengan node PyODPS, node Python tidak mendukung referensi parameter langsung berdasarkan nama, seperti $var1. Anda harus secara eksplisit membaca parameter menggunakan sys.argv.

    • Parameter penjadwalan hanya diteruskan sebagai argumen command-line setelah node dikomit, diterapkan, dan dijalankan oleh instans penjadwalan—misalnya dalam penjadwalan berulang atau pengisian ulang data. Anda dapat membaca parameter tersebut menggunakan sys.argv. Saat menjalankan node secara langsung di DataStudio untuk debugging, parameter penjadwalan tidak diteruskan. Dalam kasus ini, sys.argv hanya berisi path skrip, sehingga nilai parameternya tidak dapat diakses.

    • Contoh definisi parameter

      $[yyyymmdd] abc
    • Contoh penggunaan parameter

      import sys
      
      # Cetak semua argumen yang diterima.
      print("Argumen yang diterima saat ini:", sys.argv)
      
      # Ambil parameter pertama dan kedua.
      param1 = sys.argv[1]
      param2 = sys.argv[2]
      print("Parameter 1:", param1)
      print("Parameter 2:", param2)

    Untuk informasi selengkapnya tentang cara mengonfigurasi parameter penjadwalan, lihat Sumber dan ekspresi parameter penjadwalan.

  5. Setelah menyelesaikan konfigurasi penjadwalan, simpan node tersebut.

Langkah 2: Terapkan dan kelola node

  1. Setelah mengonfigurasi penjadwalan, Anda dapat mengkomit dan menerapkan node Python ke lingkungan produksi.

  2. Setelah penerapan, tugas akan berjalan secara berkala sesuai konfigurasi penjadwalan Anda. Anda dapat membuka Operation and Maintenance Center > Node O&M > Auto Triggered Task O&M > Auto Triggered Task untuk melihat dan mengelola tugas yang dipicu otomatis yang telah diterapkan. Untuk informasi selengkapnya, lihat Pengantar Operation Center.

Kembangkan tugas di lingkungan pengembangan pribadi

Lingkungan pengembangan pribadi juga mendukung pemrograman Python. Untuk informasi tentang cara menggunakan lingkungan ini untuk mengedit tugas node Python, lihat Lingkungan pengembangan pribadi.

Jalankan node menggunakan peran terkait

Anda dapat mengaitkan RAM role untuk menjalankan node, yang memungkinkan Anda menjalankan tugas node dengan RAM role tertentu guna kontrol izin detail halus dan manajemen keamanan.