All Products
Search
Document Center

DataWorks:Gunakan paket pihak ketiga di node PyODPS

Last Updated:Jun 21, 2026

Saat fitur bawaan PyODPS tidak memenuhi kebutuhan bisnis yang kompleks, Anda mungkin perlu menggunakan kembali kode Python atau memanfaatkan library open-source. DataWorks menyediakan dua solusi: memuat skrip kustom melalui referensi resource, atau mengintegrasikan paket pihak ketiga menggunakan custom image atau O&M Assistant. Topik ini menjelaskan cara memanggil skrip Python kustom atau menginstal dan menggunakan paket open-source pihak ketiga di node PyODPS DataWorks untuk memperluas kemampuan pemrosesan data Anda.

Pemilihan cepat

Pilih pendekatan berdasarkan lingkungan dan kebutuhan Anda.

Skenario

Jenis kelompok sumber daya

Solusi

Menggunakan paket open-source pihak ketiga

serverless resource group

Instal paket open-source menggunakan custom image

exclusive resource group for scheduling

Instal paket open-source menggunakan O&M Assistant

Hanya menggunakan file skrip .py kustom

serverless resource group / exclusive resource group for scheduling

Referensikan resource Python kustom

Gambar berikut menggambarkan alur kerja utama untuk setiap solusi.

Prasyarat

Sebelum memulai, pahami dua konsep utama berikut untuk memilih metode konfigurasi yang tepat.

Konsep utama

  1. Jenis node: PyODPS 2 vs. PyODPS 3

    • PyODPS 2: Berbasis lingkungan Python 2.7.

    • PyODPS 3: Berbasis lingkungan Python 3.7+.

    • Rekomendasi: Kami sangat menyarankan Anda menggunakan PyODPS 3 karena dukungan resmi untuk Python 2 telah dihentikan. Topik ini menggunakan PyODPS 3 sebagai contoh utama.

  2. Jenis kelompok sumber daya: serverless resource group vs. exclusive resource group for scheduling

    • Serverless resource group (Direkomendasikan): Kelompok sumber daya ini elastis dan bebas perawatan. Anda dapat menggunakan custom image untuk mengelola paket pihak ketiga.

    • Exclusive resource group for scheduling (Tidak direkomendasikan): Ini adalah solusi lama. Anda harus membeli dan memelihara server ECS, serta sumber dayanya tidak dapat diskalakan secara elastis. Menggunakan O&M Assistant untuk menginstal dependensi memiliki banyak keterbatasan dan dapat merusak lingkungan.

Tentukan jenis kelompok sumber daya

Di Konsol DataWorks, buka halaman Detail Ruang Kerja untuk ruang kerja Anda. Di halaman Resource Group, periksa jenis kelompok sumber daya yang terkait dengan ruang kerja tersebut.

  • Jika jenisnya adalah General-purpose, Anda menggunakan serverless resource group.

  • Jika jenisnya adalah Data Scheduling, Anda menggunakan exclusive resource group for scheduling.

Instal paket open-source menggunakan custom image

Penting

Metode ini berlaku untuk serverless resource group.

Bagian ini memberikan contoh end-to-end pembuatan lingkungan kustom yang mencakup paket pendulum. Anda kemudian akan menggunakan node PyODPS 3 untuk memanggil paket ini guna mengambil dan memformat waktu saat ini untuk zona waktu tertentu.

Langkah 1: Buat custom image yang berisi library pendulum

Custom image mendefinisikan lingkungan runtime untuk serverless resource group.

  1. Masuk ke konsol DataWorks, lalu klik Image Management di panel navigasi sebelah kiri.

  2. Buka tab Custom Image.

  3. Klik Create Image di pojok kiri atas. Di halaman Create, konfigurasikan parameter utama berikut:

    Parameter

    Deskripsi

    Image Name

    Masukkan nama untuk custom image, misalnya, pyodps3_with_pendulum.

    Reference Type

    Pilih DataWorks Official Image.

    Image Name/ID

    Dari daftar drop-down, pilih image resmi DataWorks dataworks_pyodps_task_pod.

    Supported Task Types

    Pilih tipe task PyODPS 3.

    Installation Package

    Pilih Python3, lalu pilih paket pendulum yang disediakan sistem dari daftar drop-down.

    Untuk menginstal paket open-source yang tidak tersedia secara bawaan, Anda dapat menggunakan mode Script untuk instalasi manual. Untuk informasi lebih lanjut tentang metode konfigurasi, lihat Parameter untuk membuat custom image.
    Penting

    Untuk menginstal paket open-source dari internet publik, VPC yang terkait dengan serverless resource group harus memiliki akses jaringan publik.

  4. Klik OK untuk membuat custom image.

  5. Di halaman Custom Images, uji lalu deploy image tersebut. Image harus lolos pengujian sebelum dapat dideploy.

  6. Di kolom Operation image target, klik image > Modify Owning Workspace untuk mengasosiasikan ruang kerja pemilik dengan custom image tersebut.

    Setelah image berhasil dideploy, Deployment Status-nya berubah menjadi Deployed, dan tombol Disable muncul di kolom Actions. Menu drop-down Actions juga mencakup opsi seperti Modify, Build, View Versions, dan Delete Image.

Langkah 2: Buat dan konfigurasikan node PyODPS 3

  1. Di bilah navigasi kiri, klik Data Development and O&M > Data Studio, pilih ruang kerja target dari daftar drop-down, lalu klik Go to DataStudio.

  2. Di alur bisnis yang sudah ada, buat node PyODPS 3 bernama pyodps3_pendulum_test.

  3. Di editor kode untuk node pyodps_pendulum_test, masukkan kode Python 3 berikut:

    # Paket pendulum telah diinstal di custom image, sehingga Anda dapat langsung mengimpornya.
    import pendulum
    print("Mulai menguji paket pihak ketiga pendulum...")
    try:
        # Gunakan pendulum untuk mendapatkan waktu saat ini di zona waktu "Asia/Shanghai".
        shanghai_time = pendulum.now('Asia/Shanghai')
        # Cetak informasi waktu dan zona waktu yang telah diformat.
        print(f"Paket 'pendulum' berhasil diimpor.")
        print(f"Waktu saat ini di Shanghai adalah: {shanghai_time.to_datetime_string()}")
        print(f"Zona waktu yang sesuai adalah: {shanghai_time.timezone_name}")
        print("\nUji coba berhasil! Node PyODPS berhasil memanggil paket pihak ketiga.")
    except Exception as e:
        print(f"Uji coba gagal. Terjadi kesalahan: {e}")

Langkah 3: Uji dan verifikasi hasilnya

  1. Klik ikon ** di bilah alat untuk menjalankan kode, lalu di kotak dialog Parameter, pilih image pyodps3_with_pendulum yang telah Anda buat.

    Penting

    Jika Anda tidak menemukan image target, pastikan image tersebut telah diasosiasikan dengan ruang kerja saat ini. Untuk informasi lebih lanjut, lihat Langkah 6 di "Langkah 1: Buat custom image".

  2. Lihat log jalannya di bagian bawah halaman. Output berikut menunjukkan bahwa paket pendulum berhasil dipanggil.

    Mulai menguji paket pihak ketiga pendulum...
    Paket 'pendulum' berhasil diimpor.
    Waktu saat ini di Shanghai adalah: 2025-09-27 15:45:00
    Zona waktu yang sesuai adalah: Asia/Shanghai
    Uji coba berhasil! Node PyODPS berhasil memanggil paket pihak ketiga.

Langkah 4: Deploy node PyODPS 3

Setelah pengujian selesai, buka Scheduling > Resource Group di panel kanan. Pilih serverless resource group Anda dan atur imagenya ke custom image pyodps3_with_pendulum yang telah Anda buat. Anda kemudian dapat mendeploy node tersebut ke Operation Center.

Instal paket open-source menggunakan O&M Assistant

Penting

Metode ini berlaku untuk exclusive resource group for scheduling, yang merupakan solusi lama dan tidak lagi direkomendasikan. Kami menyarankan Anda migrasi ke serverless resource group yang lebih kuat dan fleksibel.

  1. Login ke daftar ruang kerja DataWorks, ganti wilayah di bagian atas halaman, lalu klik Details di kolom Operation untuk ruang kerja target guna membuka halaman detail ruang kerja.

  2. Di bilah navigasi kiri, klik Resource Group, temukan exclusive resource group for scheduling yang terkait, lalu di kolom Actions, klik image > O&M Assistant.

  3. Di halaman O&M Assistant, klik Create Command di pojok kiri atas.

  4. Masukkan perintah yang sesuai dengan versi Python Anda:

    • Python 3 (PyODPS 3): Pertahankan opsi default. Dari daftar drop-down untuk tipe paket Python3, pilih paket instalasi pendulum.

    • Python 2 (PyODPS 2): Pilih mode Manual Input dan masukkan konten perintah.

      pip install --upgrade pip
      pip install "pendulum<2.0"
  5. Di halaman O&M Assistant, klik Run Command di kolom Actions. Setelah perintah berhasil dijalankan, Anda dapat langsung menggunakan import pendulum di node PyODPS yang sesuai.

Referensikan resource Python kustom

Jika Anda hanya perlu memanggil fungsi dari file .py lain, ikuti langkah-langkah berikut:

  1. Buat resource Python

    1. Di halaman Pengembangan Data, klik kanan alur bisnis target lalu pilih Create Resource > MaxCompute > Python.

    2. Di kotak dialog Create Resource, masukkan Name untuk resource tersebut, misalnya, my_utils.py, lalu klik Create.

    3. Masukkan kode berikut di editor resource Python.

      # my_utils.py (sintaksis Python 3)
      def say_hello(name):
          print(f"Halo, {name}! Ini berasal dari modul my_utils.")
    4. Simpan dan kirim resource tersebut.

  2. Buat node dan rujuk sumber daya

    • Di alur bisnis target, klik kanan MaxCompute, pilih Create Node > PyODPS 3, lalu ikuti petunjuk di layar untuk membuat node tersebut.

    • Di node tersebut, referensikan resource menggunakan direktif ##@resource_reference{"my_utils.py"}. Kode lengkapnya adalah sebagai berikut:

      ##@resource_reference{"my_utils.py"}
      import sys
      import os
      # Tambahkan direktori tempat resource berada ke jalur pencarian interpreter Python.
      sys.path.append(os.path.dirname(os.path.abspath('my_utils.py')))
      # Sekarang Anda dapat mengimpor dan menggunakan resource seperti modul biasa.
      import my_utils
      my_utils.say_hello("DataWorks")
  3. Jalankan node tersebut. Output "Halo, DataWorks! Ini berasal dari modul my_utils." muncul di log.

FAQ

  • T: Saat saya menginstal paket secara manual menggunakan perintah, mengapa pengujian custom image tidak berjalan dalam waktu lama?

    • Jika lingkungan runtime task bergantung pada paket pihak ketiga dari internet publik, VPC yang terkait dengan serverless resource group harus memiliki akses jaringan publik. Untuk informasi lebih lanjut, lihat Aktifkan akses jaringan publik untuk kelompok sumber daya.

    • Coba ganti ke sumber paket Python yang berbeda, seperti https://mirrors.aliyun.com/pypi/simple/. Mirror Alibaba Cloud tidak memerlukan akses jaringan publik.

  • T: Apa yang harus saya lakukan jika impor paket pihak ketiga gagal?

    1. Pastikan custom image telah berhasil dideploy.

    2. Pastikan tipe task yang didukung oleh image (PyODPS 2 atau PyODPS 3) sesuai dengan tipe node Anda.

    3. Pastikan gambar kustom yang benar terpilih di Properties node.

      Anda tidak dapat memilih public resource group.
    4. Periksa apakah versi paket yang diinstal kompatibel dengan versi Python Anda. Misalnya, pendulum versi 2.0 ke atas tidak mendukung Python 2.

Dokumen terkait