Buat custom image ketika lingkungan runtime bawaan DataWorks tidak memenuhi kebutuhan dependensi tugas Anda, seperti tugas PyODPS atau Shell yang memerlukan library Python seperti pandas atau jieba. Custom image mengemas dependensi yang telah dipra-instal ke dalam lingkungan yang dapat digunakan ulang dan terstandarisasi, sehingga menjamin konsistensi dan meningkatkan efisiensi.
Catatan penggunaan
Batasan versi:
Semua edisi mendukung pembuatan dan penggunaan custom image.
Hanya Edisi Profesional ke atas yang mendukung pembuatan image.
Batasan kelompok sumber daya: Fitur ini hanya mendukung serverless resource groups.
Untuk kelompok sumber daya lama, gunakan O&M Assistant untuk menginstal dependensi eksternal.
Batasan izin: Anda memerlukan kebijakan AliyunDataWorksFullAccess atau ModifyResourceGroup.
Untuk detail otorisasi, lihat Kelola akses tingkat produk dan konsol dengan kebijakan RAM.
Kuota dan batasan
Jumlah image: Batas custom image bervariasi berdasarkan edisi DataWorks.
Edisi Dasar dan Standar: 10.
Edisi Profesional: 50.
Edisi Perusahaan: 100.
Konkurensi build: Anda dapat membangun hingga dua image secara bersamaan per wilayah.
Persyaratan Gambar ACR:
Edisi instans: Hanya instans Alibaba Cloud ACR Edisi Perusahaan yang didukung.
Arsitektur instans: Hanya arsitektur AMD64 yang didukung.
Ukuran image: Satu image tidak boleh melebihi 5 GB.
Konfigurasi zona waktu: Instal paket
tzdatauntuk mencegah pengecualian kontainer akibat ketidakkonsistenan zona waktu.
Pembuatan image: Hanya custom image berbasis DataWorks official images yang mendukung build persistensi. Image yang mereferensikan image Alibaba Cloud ACR tidak mendukung fitur ini; image tersebut ditarik dan dideploy setiap kali tugas dijalankan.
Tipe node dan metode yang didukung:
Tipe node
Official image build
ACR image build
PyODPS2PyODPS3EMR SparkEMR Spark SQLEMR SHELLShellPythonNotebookCDHAssignment Node
Prosedur
1. Buat gambar kustom
Anda dapat membuat custom image dengan mereferensikan DataWorks Official Images atau Alibaba Cloud Container Registry Image. Parameter konfigurasi bervariasi tergantung pada jenis referensi yang dipilih:
Buat berdasarkan DataWorks official images
Masuk ke Konsol DataWorks, lalu klik Image Management di panel navigasi kiri.
Pada tab DataWorks Official Images, pilih image target sebagai dasar dan klik Create Custom Image di kolom Actions. Sistem akan mengisi informasi image target ke dalam kotak dialog. Konfigurasikan parameter lainnya sebagai berikut.
Reference Type: Default adalah DataWorks Official Images. Image Namespace: Default adalah DataWorks Default. Image Repository: Default adalah DataWorks Default.
Parameter
Deskripsi
Image Name/ID
Image official target dipilih secara default. Anda dapat menggantinya sesuai kebutuhan.
Visible Scope
Konfigurasikan visibilitas custom image: Visible Only to Creator atau Visible to all.
Module
Custom image saat ini hanya didukung untuk DataStudio.
Supported Task Type
Pilih tipe tugas yang didukung berdasarkan jenis image. Saat menjalankan node tugas yang sesuai di DataStudio, image ini dapat dikonfigurasi sebagai runtime image.
Installation Package
Tambahkan paket pihak ketiga sesuai kebutuhan. Anda dapat memilih beberapa mode dan menginstal beberapa paket sekaligus. Metode berikut didukung:
Quick Install: Pilih
Python2,Python3, atauYumdari daftar drop-down paket untuk langsung memilih lingkungan dan sumber daya yang akan diinstal.Jika paket tidak terdaftar, beralihlah ke mode Script untuk instalasi manual.
Manual Input: Pilih
Scriptdari daftar drop-down paket. Anda dapat memasukkan perintah instalasi secara manual di editor skrip. Gunakan contoh perintah berikut untuk mengunduh paket pihak ketiga.Contoh pip:
pip install xx(untuk Python 2).Contoh pip3:
/home/tops/bin/pip3 install 'urllib3<2.0'(untuk Python 3).Contoh yum:
yum install -y git.Contoh wget:
wget git.Untuk perintah instalasi lainnya, lihat Installation commands.
PentingUntuk menginstal paket dari Internet, VPC yang terikat pada serverless resource group harus memiliki akses Internet.
Klik OK untuk menyelesaikan pembuatan.
Buat berdasarkan Alibaba Cloud Container Registry Image (ACR Image)
Untuk membuat custom image dari image ACR, aktifkan Container Registry. Hanya instans ACR Edisi Perusahaan dengan arsitektur AMD64 yang didukung untuk membuat image DataWorks.
Masuk ke Konsol DataWorks dan klik Image Management di panel navigasi kiri.
Pada tab Custom Images, klik Create Image. Konfigurasikan parameter utama dalam kotak dialog:
Parameter
Deskripsi
Reference Type
Pilih Alibaba Cloud Container Registry Image.
Image Instance ID
Pilih instans Edisi Perusahaan yang dibuat di Alibaba Cloud Container Registry.
Image Namespace
Pilih namespace di bawah instans image.
Image Repository
Pilih repository image di bawah instans image.
Image Version
Pilih versi image (tag) dari repository yang dipilih untuk membuat custom image.
VPC to Associate
Pilih jaringan VPC yang terikat pada instans image. Untuk detail konfigurasi jaringan VPC, lihat Configure a VPC ACL.
PentingAnda hanya dapat mengonfigurasi satu koneksi VPC antara DataWorks dan instans ACR.
Synchronize to MaxCompute
Default-nya adalah No. Opsi ini bergantung pada Image Instance yang dipilih. Opsi ini dapat dipilih hanya untuk instans ACR Edisi Standar ke atas; jika tidak, opsi ini dinonaktifkan.
Pilih Yes: Custom image DataWorks dibuat secara default, dan image MaxCompute dibangun secara sinkron saat image DataWorks dipublikasikan.
Untuk informasi selengkapnya, lihat Membuat gambar kustom MaxCompute di lingkungan pengembangan pribadi.
Pilih No: Hanya custom image DataWorks yang dibuat; tidak akan dibangun secara sinkron sebagai image MaxCompute.
Visible Scope
Konfigurasikan visibilitas custom image: Visible Only to Creator atau Visible to all.
Module
Custom image saat ini hanya didukung untuk DataStudio.
Supported Task Type
Image ACR dijalankan menggunakan metode:
Start command + user task code file path. Berikut adalah tipe tugas yang didukung beserta perintah start default-nya:ShellPython: Untuk menggunakan custom image yang dibuat dari image ACR Alibaba Cloud pada tugas Python, pastikan instans image ACR Anda berisi lingkungan Python; jika tidak, tugas Python tidak didukung.NotebookUntuk menggunakan custom image yang dibuat dari image ACR Alibaba Cloud pada tugas Notebook, gunakan image dasar DataWorks Notebook sebagai dasar image ACR Anda untuk menyediakan lingkungan runtime. Image dasar DataWorks Notebook:
dataworks-public-registry.cn-shanghai.cr.aliyuncs.com/public/dataworks-notebook:py3.11-ubuntu22.04-20241202.Pastikan lingkungan yang digunakan untuk membangun image memiliki kemampuan akses Internet untuk mengambil image dasar DataWorks Notebook.
Klik OK untuk menyelesaikan pembuatan.
Buat berdasarkan instans lingkungan pengembangan pribadi
DataStudio baru mendukung pembuatan image baru dari lingkungan pengembangan pribadi. Untuk detailnya, lihat Create a DataWorks image from a personal development environment.
2. Uji dan publikasikan custom image
Pada tab di Konsol DataWorks, Publish image target. Anda hanya dapat mempublikasikan image yang telah berhasil diuji. Jika pengujian gagal, klik di kolom Actions untuk memodifikasi konfigurasi image.
Perhatikan hal berikut saat menguji dan mempublikasikan:
Pilih serverless resource group saat menguji custom image.
Untuk image berbasis ACR atau lingkungan pengembangan pribadi, pastikan VPC serverless resource group sesuai dengan VPC kontainer image.
Jika custom image Anda mengambil paket pihak ketiga dari Internet dan pengujian gagal dalam waktu lama, periksa apakah VPC yang terikat pada kelompok sumber daya pengujian memiliki kemampuan akses Internet.
3. Asosiasikan image dengan ruang kerja
Setelah dipublikasikan, Anda dapat mengikat image ke ruang kerja.
Pada tab di Konsol DataWorks, temukan custom image yang telah dipublikasikan.
Klik di kolom Actions untuk mengikat custom image ke ruang kerja.
4. Gunakan image dalam tugas
Gunakan gambar di DataStudio baru
Masuk ke DataStudio: Buka halaman Daftar Ruang Kerja DataWorks, alihkan ke wilayah target di bilah navigasi atas, temukan ruang kerja target, lalu klik di kolom Actions.
Konfigurasi image: Di DataStudio, temukan node tugas yang akan diuji dengan custom image, klik Scheduling di sebelah kanan, lalu konfigurasikan properti sumber daya.
Resource Group: Pilih serverless resource group.
Jika kelompok sumber daya target tidak ditampilkan, periksa apakah kelompok sumber daya tersebut telah diikat ke ruang kerja saat ini. Anda dapat membuka halaman Daftar Kelompok Sumber Daya, temukan kelompok sumber daya target, lalu klik Associate Workspace di kolom Actions untuk menyelesaikan pengikatan.
PentingKelompok sumber daya harus sesuai dengan kelompok sumber daya pengujian yang digunakan saat publikasi image.
Image: Pilih Custom Image yang telah dipublikasikan.
Jika Anda mengganti image, Anda harus mempublikasikan node agar perubahan berlaku di lingkungan produksi.

Debug node: Di panel Run Configuration di sebelah kanan, konfigurasikan Compute Resource, Resource Group, Compute CUs, Image, dan Script Parameters, lalu klik Run di bilah alat atas.
Deploy node: Klik Deploy di bilah alat atas untuk mempublikasikan node ke lingkungan produksi.
Gunakan image di DataStudio lama
Masuk ke DataStudio: Masuk ke Konsol DataWorks. Setelah beralih ke wilayah target, klik di panel navigasi kiri. Pilih ruang kerja yang sesuai dari daftar drop-down lalu klik Go to Data Development.
Konfigurasi image: Di DataStudio, temukan node tugas yang akan diuji dengan custom image, klik Properties di sebelah kanan, lalu konfigurasikan properti sumber daya.
Resource Group: Pilih serverless resource group.
Jika kelompok sumber daya target tidak ditampilkan, periksa apakah kelompok sumber daya tersebut telah diikat ke ruang kerja saat ini. Anda dapat membuka halaman Daftar Kelompok Sumber Daya, temukan kelompok sumber daya target, lalu klik Associate Workspace di kolom Actions untuk menyelesaikan pengikatan.
PentingKelompok sumber daya harus sesuai dengan kelompok sumber daya pengujian yang digunakan saat publikasi image.
Image: Pilih Custom Image yang telah dipublikasikan.
Jika Anda mengganti image, Anda harus mempublikasikan node agar perubahan berlaku di lingkungan produksi.

Debug node: Klik Run with Parameters (
) di bilah alat atas, konfigurasikan Resource Group, CUs for Running, dan Image, lalu klik Run.Deploy node: Klik Save dan Submit di bilah alat atas untuk mempublikasikan node ke lingkungan produksi.
5. Bangun persistent image
Kami menyarankan membangun persistent image setelah verifikasi. Hal ini mencegah kegagalan tugas akibat perubahan versi tak terduga atau dependensi yang dimodifikasi.
Custom image standar dideploy ulang setiap kali dijalankan, sehingga meningkatkan waktu proses dan biaya. Persistent image dibangun sekali dan digunakan berulang, sehingga meningkatkan efisiensi dan konsistensi sekaligus mengurangi biaya. Pembuatan persistent image hanya didukung untuk custom image yang dibuat berdasarkan official image.
Pada tab di Konsol DataWorks, temukan custom image yang telah dipublikasikan.
Klik di kolom Actions untuk membangun custom image menjadi persistent image.
Pada kotak dialog Resource Group for Which You Want to Create Image, konfigurasikan kelompok sumber daya yang akan digunakan untuk membuat gambar, lalu klik Continue.
PentingUntuk menghindari kegagalan build akibat masalah jaringan, pastikan kelompok sumber daya sesuai dengan kelompok sumber daya pengujian yang dipilih saat publikasi custom image.
Pembuatan image memerlukan waktu sekitar 5 hingga 10 menit, tergantung ukuran image. Setelah berhasil dibangun, status image target berubah menjadi Published (Created).
Penagihan
Pembuatan image dikenai biaya komputasi berdasarkan jumlah CU × durasi build. Sistem mengalokasikan 0,5 CU secara default. Untuk detail penagihan, lihat Standar penagihan serverless resource group.
Praktik terbaik untuk produksi
Ikuti rekomendasi berikut untuk custom image yang stabil dan efisien di produksi:
Persistent image: Kami menyarankan membangun persistent image untuk image yang telah dipublikasikan dan stabil. Hal ini menghindari instalasi ulang dependensi setiap kali tugas dijalankan, mempersingkat waktu startup, mengurangi biaya komputasi, dan meningkatkan stabilitas.
Konsistensi lingkungan: Pastikan konsistensi pengikatan VPC dan konfigurasi jaringan untuk serverless resource group yang digunakan dalam pengujian, pembuatan, dan penjadwalan produksi, terutama saat mengakses repository ACR privat atau Internet.
Penguncian versi: Saat menginstal dependensi melalui
Script, kami sangat menyarankan untuk secara eksplisit menentukan nomor versi (misalnya,pip install pandas==1.5.3) guna menghindari perubahan perilaku tak terduga akibat pembaruan library upstream.Rencana rollback: Jika tugas produksi gagal setelah pembaruan image, Anda dapat melakukan rollback ke versi sebelumnya melalui riwayat publikasi tugas atau mengarahkan ulang image ke versi lama yang stabil dalam konfigurasi penjadwalan.
Kasus penggunaan
Contoh ini menunjukkan cara menggunakan custom image untuk segmentasi kata dalam node PyODPS. Anda akan memproses data di tabel MaxCompute dan menyimpan hasilnya untuk node downstream. Anda dapat menginstal paket alat segmentasi jieba secara pra-instal dalam custom image, lalu menggunakan image ini dalam tugas PyODPS untuk memproses data dan menyimpan hasilnya ke tabel baru, sehingga terintegrasi mulus ke dalam alur penjadwalan downstream.
Buat data uji.
Buat ruang kerja DataWorks dan ikat sumber daya komputasi MaxCompute. Untuk detailnya, lihat Buat ruang kerja dan Manajemen sumber daya komputasi.
Di DataStudio, buat node ODPS (DataStudio lama) atau node MaxCompute SQL (Data Studio baru), buat tabel uji, dan tambahkan data uji.
CatatanContoh berikut menggunakan parameter penjadwalan. Atur nama parameter menjadi
bdaydan nilai parameter menjadi$[yyyymmdd]di panel Scheduling di sebelah kanan.Simpan dan deploy.
Buat custom image.
Lihat 1. Buat custom image. Parameter utama sebagai berikut:
Image Name/ID: Pilih
dataworks_pyodps_task_pod, yaitu gambar resmi node DataWorks PyODPS.Supported Task Type: Mendukung
PyODPS2danPyODPS 3.Packages: Pilih
Python3danjieba.
Publikasikan custom image dan modifikasi ruang kerja pemilik. Untuk detailnya, lihat Publikasikan custom image dan Modifikasi ruang kerja pemilik.
Gunakan custom image dalam tugas penjadwalan.
Di DataStudio, buat node PyODPS3 dan konfigurasikan konten berikut:
Atur parameter utama berikut di konfigurasi penjadwalan di sebelah kanan:
Scheduling Parameter: Nama parameter
bday, nilai parameter$[yyyymmdd].Resource Group: Pilih serverless resource group, yang harus sama dengan kelompok sumber daya pengujian yang dipilih saat publishing the image.
Image: Pilih custom image yang telah dipublikasikan dan terikat ke ruang kerja saat ini.
Debugging node.
Jika menggunakan DataStudio lama, klik Run with Parameters (
) di bilah alat atas, konfigurasikan Resource Group Name, CUs for Running, Image, dan Custom Parameters, lalu klik Run.Jika menggunakan DataStudio baru, konfigurasikan Compute Resource, Resource Group, Compute CUs, Image, dan Script Parameters di panel Run Configuration di sebelah kanan, lalu klik Run di bilah alat atas.
(Opsional) Buat kueri sementara (DataStudio lama) atau buat file SQL di direktori pribadi Anda (Data Studio baru), lalu gunakan SQL berikut untuk memeriksa apakah data telah dihasilkan di tabel output.
-- Replace <Partition Date> with the specific date. SELECT * FROM participle_tb WHERE ds=<Partition Date>;Deploy node PyODPS ke lingkungan produksi.
CatatanModifikasi image di DataStudio tidak disinkronkan ke lingkungan produksi. Anda harus mempublikasikan tugas agar perubahan berlaku di produksi. Untuk detailnya, lihat Publikasikan tugas (DataStudio Lama) atau Publikasi Node/Workflow (DataStudio Baru).
Bangun custom image menjadi persistent image. Untuk detailnya, lihat 5. Bangun persistent image.
FAQ
P: Kesalahan tugas Python: "urllib3 v2.0 hanya mendukung OpenSSL 1.1.1+."
J: urllib3 v2.0 hanya mendukung OpenSSL 1.1.1+. Anda dapat menurunkan spesifikasi urllib3 agar kompatibel dengan OpenSSL. Misalnya, tetapkan versi urllib3 saat menginstal paket pihak ketiga: /home/tops/bin/pip3 install urllib3==1.26.16.
Referensi
Perintah instalasi
Jika Anda menggunakan metode Script untuk mengonfigurasi perintah instalasi custom image, rujuk perintah berikut:
Jika bergantung pada node PyODPS 2, jalankan perintah berikut.
pip install <package_name> -i https://pypi.tuna.tsinghua.edu.cn/simplepip install <package_name>CatatanSetelah menjalankan perintah, jika diminta untuk memperbarui versi PIP, jalankan
pip install --upgrade pip.Jika bergantung pada node PyODPS 3, jalankan perintah berikut.
/home/tops/bin/pip3 install <package_name> -i https://pypi.tuna.tsinghua.edu.cn/simple/home/tops/bin/pip3 install <package_name>CatatanSetelah menjalankan perintah, jika diminta untuk memperbarui versi PIP, jalankan
/home/tops/bin/pip3 install --upgrade pip.Jika muncul error
/home/admin/usertools/tools/cmd-0.sh: line 3: /home/tops/bin/python3: No such file or directory, silakan submit a ticket untuk meminta aktivasi izin.
Rujuk mirror publik Python berikut dan ganti sesuai kebutuhan.
Organisasi
Alamat mirror
Alibaba Cloud (Aliyun)
https://mirrors.aliyun.com/pypi/simple/PentingMengambil paket Python dari Alibaba Cloud tidak memerlukan kemampuan akses Internet.
Universitas Tsinghua (Tsinghua)
https://pypi.tuna.tsinghua.edu.cn/simpleUniversity of Science and Technology of China (USTC)
https://pypi.mirrors.ustc.edu.cn/simple/
> Change Workspace