DataWorks Notebook menyediakan lingkungan interaktif dan modular untuk analisis serta pengembangan data. Anda dapat menggunakan sel Python, SQL, dan Markdown untuk terhubung ke mesin komputasi seperti MaxCompute, EMR, dan AnalyticDB, sehingga memungkinkan Anda mengelola seluruh alur kerja—mulai dari pemrosesan data dan analisis eksploratif hingga visualisasi dan pengembangan model. Topik ini menjelaskan cara menggunakan Notebook secara efisien untuk pengembangan data dan penjadwalan tugas.
Jalankan Notebook pertama Anda
Bagian ini memandu Anda melalui proses sederhana: membuat Notebook, meneruskan parameter dari Python ke SQL, dan melakukan kueri data dari tabel MaxCompute.
Sebelum memulai, pastikan Anda memenuhi persyaratan berikut:
Ruang kerja saat ini telah mengaktifkan Data Studio versi baru.
Kelompok sumber daya serverless telah dibuat. Notebook memerlukan kelompok sumber daya Serverless untuk dijalankan di lingkungan produksi.
Instans lingkungan pengembangan pribadi telah dibuat. Notebook memerlukan instans lingkungan pengembangan pribadi untuk dijalankan dan di-debug di lingkungan pengembangan.
Jika belum membuatnya, lihat Buat instans lingkungan pengembangan pribadi.
Prosedur:
Buat node Notebook
Di Data Studio, buat node Notebook di bawah Workspace Directories.
Masukkan nama untuk Notebook, misalnya
hello_notebook, lalu submit.
Pilih lingkungan pengembangan pribadi
Di bilah navigasi atas, klik Personal Development Environment, lalu pilih instans lingkungan pengembangan pribadi Anda dari daftar drop-down.
Tulis sel Python untuk mendefinisikan parameter
Tambahkan sel Python dan masukkan kode berikut. Langkah ini mendefinisikan variabel kota untuk kueri SQL berikutnya.
# Definisikan variabel untuk kueri SQL berikutnya city = 'Beijing' print(f"Variabel kota didefinisikan city = {city}")Tulis sel SQL untuk melakukan kueri data
Di bawah sel pertama, tambahkan sel SQL.
Di pojok kanan bawah sel, ubah tipe SQL menjadi
MaxCompute SQL.Masukkan kode SQL berikut. Kode ini mereferensikan variabel
cityyang didefinisikan di sel Python sebelumnya menggunakan sintaks${city}.-- Lakukan kueri menggunakan variabel yang didefinisikan di Python SELECT '${city}' AS city;
Jalankan sel dan lihat hasilnya
Klik tombol Run All pada bilah alat di bagian atas Notebook.
Amati eksekusi setiap sel:
Output di bawah sel Python menampilkan
Variabel kota didefinisikan city = Beijing.Hasil kueri ditampilkan dalam bentuk tabel di bawah sel SQL.
Anda kini telah berhasil membuat dan menjalankan Notebook yang mencakup interaksi antara Python dan SQL.
Konsep inti
Memahami konsep inti berikut sangat penting untuk memastikan perilaku Notebook yang konsisten antara lingkungan pengembangan dan produksi.
Lingkungan pengembangan vs. lingkungan produksi
Item | Lingkungan pengembangan | Lingkungan produksi |
Lingkungan runtime | Instans lingkungan pengembangan pribadi | Ditentukan di Scheduling: Resource Group dan Image |
Perbedaan utama | Anda menggunakan instans pengembangan khusus tempat Anda dapat secara bebas menginstal library Python untuk debugging. | Tugas dijalankan pada resource group yang ditentukan dalam konfigurasi scheduling. Hal ini berlaku untuk tugas yang dijadwalkan secara berkala dari Operation Center maupun alur kerja yang dipicu secara manual di DataStudio. Lingkungan tersebut, termasuk library dan pengaturan jaringan, bergantung pada image dan resource group yang Anda pilih. |
Cara memastikan konsistensi | Jika Anda menginstal paket Python di instans lingkungan pengembangan pribadi menggunakan metode seperti pip install, Anda harus membuat image DataWorks dari lingkungan pengembangan pribadi tersebut agar lingkungan produksi memiliki dependensi yang sama. Kemudian, pilih custom image ini di Scheduling. Untuk informasi selengkapnya, lihat Create a DataWorks image from a personal development environment. Penting Konektivitas jaringan: Secara default, lingkungan pengembangan pribadi yang tidak disambungkan ke VPC akan mendapatkan Alamat IP publik acak dengan bandwidth terbatas untuk akses jaringan publik. Saat sebuah node Notebook dipublikasikan, jaringannya ditentukan oleh resource group dalam konfigurasi scheduling-nya. Untuk memastikan konsistensi jaringan, sambungkan resource group yang sama ke lingkungan pengembangan pribadi Anda. | |
Sumber daya komputasi dan kernel
Sumber daya komputasi: Mesin komputasi backend yang terhubung ke Notebook, seperti MaxCompute atau EMR Serverless Spark. Sel SQL harus diikat ke sumber daya komputasi agar dapat dieksekusi.
Kernel Python: Lingkungan backend yang mengeksekusi kode Python. Di Notebook DataWorks, ini biasanya merupakan instans lingkungan pengembangan pribadi Anda. Anda dapat menggunakan Magic Commands, seperti
%odps, dalam kode Python Anda untuk terhubung ke sumber daya komputasi guna mengirimkan tugas atau memanipulasi data.
Jenis folder dan skenario
Lokasi pembuatan Notebook menentukan model kolaborasi, izin, dan alur penerapannya.
Jenis folder | Kasus penggunaan | Kolaborasi dan penerapan |
Workspace Directories | Kolaborasi tim dan tugas terjadwal. Node dalam folder ini dibagikan dalam ruang kerja dan mengikuti alur standar pengembangan, submission, dan penerapan. | Memungkinkan beberapa pengguna berkolaborasi dalam pengembangan. Node harus diterapkan ke lingkungan produksi agar dapat dijadwalkan secara berkala. |
Personal Directory | Pengembangan dan debugging pribadi. Folder ini tidak terlihat oleh anggota ruang kerja lainnya dan digunakan untuk skrip pribadi dan tugas sementara. | Hanya terlihat oleh Anda. Agar dapat dijadwalkan, node harus terlebih dahulu disubmit ke direktori ruang kerja lalu diterapkan. |
Kembangkan dan debug Notebook
DataStudio tidak menyimpan kode Anda secara otomatis secara default. Kami menyarankan agar Anda menyimpan kode secara manual sesering mungkin selama pengembangan untuk mencegah kehilangan data. Anda juga dapat mengaktifkan auto-save di editor Data Studio dengan membuka Settings > Files: Auto Save.
Jika Notebook menjadi lambat atau tidak merespons, Anda dapat mengklik tombol Restart di bilah alat atas untuk me-restart kernel.
Kelola sel
Tambah sel: Arahkan kursor ke tepi atas atau bawah sel yang ada dan klik salah satu tombol yang muncul, seperti + SQL. Anda juga dapat menggunakan tombol di bilah alat atas.
Ubah tipe sel: Klik indikator tipe di pojok kanan bawah sel, seperti
Python, lalu pilih tipe baru dari menu, sepertiSQLatauMarkdown. Saat Anda mengubah tipe, kode dalam sel tetap dipertahankan. Anda harus memodifikasinya secara manual agar sesuai dengan tipe baru.Pindahkan sel: Arahkan kursor ke garis vertikal biru di sebelah kiri sel, lalu klik dan seret untuk mengubah urutannya.
Jalankan sel:
Jalankan satu sel: Klik Run.
Jalankan semua sel: Klik Run All di bilah alat Notebook.
Melewatkan parameter
Pass variabel Python ke SQL
Variabel yang didefinisikan di sel Python dapat langsung direferensikan di sel SQL berikutnya menggunakan format ${variable_name}.
Contoh:
Python Cell
table_name = "dwd_user_info_d" limit_num = 10SQL Cell
SELECT * FROM ${table_name} LIMIT ${limit_num};
Pass hasil dari SQL ke Python
Saat sel SQL mengeksekusi kueri SELECT, hasilnya secara otomatis disimpan ke variabel DataFrame. Variabel ini dapat digunakan di sel Python berikutnya.
Jika terdapat beberapa pernyataan SQL, hanya hasil dari pernyataan terakhir yang disimpan ke variabel DataFrame.
Penamaan variabel: Secara default, nama variabel dimulai dengan
df_. Anda dapat mengklik nama variabel di pojok kiri bawah sel SQL untuk mengganti namanya.Tipe variabel:
Jika beberapa tipe variabel didukung, klik DataFrame di pojok kiri bawah untuk mengganti tipe.
Untuk MaxCompute SQL, objek
Pandas DataFramedanMaxCompute MaxFramedidukung.Untuk AnalyticDB for Spark SQL, objek
Pandas DataFramedanPySpark MaxFramedidukung.Untuk tipe SQL lainnya, objek
Pandas DataFramedihasilkan.
Contoh:

Pemrograman berbantuan Copilot
DataWorks Copilot adalah asisten pemrograman cerdas bawaan yang membantu Anda menghasilkan dan menjelaskan kode.
Pemanggilan:
Klik ikon Copilot
di pojok kiri atas sel yang dipilih.Klik kanan di dalam sel SQL dan pilih Copilot.
Gunakan pintasan keyboard
Cmd+I(Mac) atauCtrl+I(Windows).
Jadwalkan dan publikasikan Notebook
Untuk menjalankan Notebook secara berkala, Anda harus mengonfigurasi pengaturan penjadwalannya dan mempublikasikannya ke lingkungan produksi.
1. Konfigurasi parameter penjadwalan
Jika Anda memerlukan parameter dalam Notebook berubah secara dinamis untuk setiap eksekusi terjadwal—misalnya memproses data dari partisi berbeda setiap hari—Anda dapat mengatur penjadwalan berparameter.
Tandai sel parameter: Di sel Python yang berisi definisi parameter inti, klik menu
...di pojok kanan atas dan pilih Mark Cell as Parameters. Tagparameterskemudian ditambahkan ke sel tersebut, menandainya sebagai titik masuk parameter untuk tugas penjadwalan.
Konfigurasi parameter penjadwalan:
Di panel kanan Notebook, klik Scheduling.
Di area Scheduling Parameters, tetapkan nilai ke variabel (seperti
var) yang didefinisikan dalam kode Anda.
Saat tugas dieksekusi secara otomatis oleh sistem penjadwalan, nilai aktual parameter var dalam kode secara dinamis diganti dengan nilai yang dikonfigurasi di parameter penjadwalan.
2. Konfigurasi lingkungan runtime dan sumber daya
Konfigurasi citra: Di Scheduling, pilih image yang berisi semua dependensi yang diperlukan agar Notebook dapat dijalankan. Hal ini sangat penting untuk memastikan eksekusi yang sukses di lingkungan produksi.
PentingJika Anda menginstal paket Python di instans lingkungan pengembangan pribadi menggunakan metode seperti pip install, Anda harus membuat citra DataWorks dari lingkungan pengembangan pribadi tersebut untuk memastikan lingkungan produksi memiliki dependensi yang sama. Kemudian, pilih citra kustom ini di Scheduling. Untuk informasi lebih lanjut, lihat Buat citra DataWorks dari lingkungan pengembangan pribadi.
Konfigurasi kelompok sumber daya: Pilih kelompok sumber daya yang akan digunakan untuk mengeksekusi tugas. Untuk kelompok sumber daya Serverless, kami menyarankan mengonfigurasi tidak lebih dari
16 CUuntuk mencegah kegagalan startup tugas akibat sumber daya tidak mencukupi. Satu tugas mendukung maksimal64 CU.Konfigurasi peran terkait: Untuk kontrol izin detail halus, Anda dapat mengaitkan peran RAM tertentu dengan node tersebut. Node tersebut kemudian dijalankan dengan identitas peran tersebut. Untuk informasi lebih lanjut, lihat Konfigurasi peran terkait untuk node.
3. Publikasikan node
Hanya node di direktori ruang kerja yang dapat dipublikasikan dan dijadwalkan secara berkala.
Untuk Notebook di direktori ruang kerja: Setelah menyelesaikan konfigurasi, klik tombol Publish di bilah alat atas.
Untuk Notebook di direktori pribadi: Anda harus mengklik tombol Save lalu klik Commit to Workspace Directory sebelum penerapan.
Setelah Notebook dipublikasikan, Anda dapat memantau dan mengelola tugas Notebook Anda di halaman Auto Triggered Nodes di Operation Center.
FAQ
T: Mengapa kode saya dapat mengakses jaringan publik selama pengembangan tetapi gagal saat eksekusi terjadwal?
J: Hal ini karena kebijakan jaringan untuk lingkungan pengembangan dan produksi berbeda.
Lingkungan pengembangan: Untuk kenyamanan debugging, instans lingkungan pengembangan pribadi yang tidak dikonfigurasi dengan VPC menyediakan akses jaringan publik terbatas secara default. Hal ini memungkinkan Anda menginstal paket atau memanggil API secara sementara.
Lingkungan produksi: Untuk memastikan keamanan dan stabilitas, tugas dijalankan di virtual private cloud (VPC) secara default dan tidak dapat mengakses jaringan publik secara langsung. Konfigurasi jaringan tugas ditentukan oleh kelompok sumber daya yang Anda pilih di Scheduling. Jika VPC kelompok sumber daya tersebut tidak dikonfigurasi dengan Gateway NAT, tugas tidak dapat mengakses jaringan publik.
Solusi: Pastikan instans lingkungan pengembangan pribadi dan kelompok sumber daya Serverless diatur dalam VPC yang sama.
T: Mengapa kode saya berjalan sukses di lingkungan pengembangan tetapi gagal menemukan paket pihak ketiga saat eksekusi terjadwal?
J: Pastikan Anda memaketkan semua dependensi (seperti library Python) ke dalam citra kustom dan menentukan citra tersebut di Scheduling. Untuk informasi lebih lanjut, lihat Buat citra DataWorks dari lingkungan pengembangan pribadi.
T: Bagaimana cara mengubah versi kernel Python?
J: Anda dapat menginstal versi Python yang diperlukan secara manual di terminal
lingkungan pengembangan pribadi Anda. Lalu, klik tombol
di sisi kanan bilah alat Notebook untuk beralih ke versi kernel Python lainnya. Kami tidak menyarankan menginstal kernel Python tambahan. Versi baru mungkin tidak memiliki dependensi yang diperlukan oleh sel SQL, sehingga dapat menyebabkan sel tersebut tidak berfungsi dengan benar.