PyODPS dapat digunakan sebagai node pengembangan data di platform seperti DataWorks. Platform ini menyediakan lingkungan untuk menjalankan PyODPS dan memungkinkan Anda menjadwalkan serta menjalankan node tanpa perlu membuat objek entri MaxCompute secara manual. Mirip dengan pandas, PyODPS menawarkan struktur data yang cepat, fleksibel, dan ekspresif. Fitur pemrosesan datanya serupa dengan pandas dan dapat digunakan melalui API DataFrame yang disediakan oleh PyODPS. Topik ini menjelaskan cara menggunakan PyODPS dalam proyek Anda di konsol DataWorks.
Prasyarat
Sebuah ruang kerja DataWorks telah dibuat dan dilampirkan ke sumber daya komputasi MaxCompute.
Prosedur
Buat node PyODPS.
Bagian ini menjelaskan cara membuat node PyODPS 3 di konsol DataWorks. Untuk informasi lebih lanjut, lihat Mengembangkan tugas PyODPS 3.
CatatanNode PyODPS 3 digunakan sebagai contoh. Versi Python dari node PyODPS 3 adalah 3.7.
Setiap node PyODPS dapat memproses hingga 50 MB data dan menggunakan maksimum 1 GB memori. Jika batas ini terlampaui, DataWorks akan menghentikan node PyODPS. Kami menyarankan agar Anda tidak menulis kode Python yang memproses sejumlah besar data di node PyODPS.
Menulis dan men-debug kode di DataWorks kurang efisien. Kami menyarankan agar Anda menginstal IntelliJ IDEA secara lokal untuk menulis kode.
Buat alur kerja.
Masuk ke konsol DataWorks dan buka halaman DataStudio. Di sisi kiri halaman, klik kanan Business Flow dan pilih Create Workflow.
Buat node PyODPS 3.
Temukan alur kerja yang telah Anda buat, klik kanan nama alur kerja tersebut, lalu pilih . Di dalam kotak dialog Create Node, tentukan Node Name, lalu klik Commit.
Konfigurasikan dan jalankan node PyODPS 3.
Tulis kode untuk node PyODPS 3.
Tulis kode uji di editor kode node PyODPS 3. Sebagai contoh, tulis kode berikut di editor kode yang mencakup berbagai operasi tabel. Untuk informasi lebih lanjut tentang operasi tabel dan operasi SQL, lihat Tabel dan SQL.
from odps import ODPS # Membuat tabel non-partisi bernama my_new_table. Tabel non-partisi berisi bidang-bidang dengan tipe data tertentu dan nama yang ditentukan. # Setiap node PyODPS di DataWorks berisi variabel global odps atau o, yang merupakan entri MaxCompute. Anda dapat menggunakan entri tanpa perlu mendefinisikannya. Untuk informasi lebih lanjut, lihat Gunakan PyODPS di DataWorks. table = o.create_table('my_new_table', 'num bigint, id string', if_not_exists=True) # Tulis data ke tabel my_new_table. records = [[111, 'aaa'], [222, 'bbb'], [333, 'ccc'], [444, 'Chinese']] o.write_table(table, records) # Baca data dari tabel my_new_table. for record in o.read_table(table): print(record[0],record[1]) # Baca data dari tabel my_new_table dengan mengeksekusi pernyataan SQL. result = o.execute_sql('select * from my_new_table;',hints={'odps.sql.allow.fullscan': 'true'}) # Dapatkan hasil eksekusi dari pernyataan SQL. with result.open_reader() as reader: for record in reader: print(record[0],record[1]) # Hapus tabel. table.drop()Jalankan kode.
Setelah menulis kode, klik ikon
di bilah alat atas. Setelah kode dijalankan, hasil eksekusi node PyODPS 3 dapat dilihat di tab Runtime Log. Hasil pada gambar berikut menunjukkan bahwa kode berhasil dijalankan.