MaxFrame adalah kerangka komputasi ilmiah terdistribusi yang dikembangkan oleh Alibaba Cloud. Sebagai evolusi dari PyODPS dan Mars, MaxFrame menyediakan API yang kompatibel dengan antarmuka Pandas, memungkinkan pengguna untuk menggunakan MaxCompute dengan cara yang mirip dengan Python. Topik ini menjelaskan latar belakang dan sejarah pengembangan ekosistem Python yang disediakan oleh MaxCompute.
Informasi Latar Belakang
Python merupakan bahasa pemrograman utama dalam pembelajaran mesin dan pengembangan model AI. Python menyediakan pustaka komputasi ilmiah dan visualisasi yang kaya seperti NumPy (operasi array multidimensi), Pandas (analitik data), Matplotlib (gambar dua dimensi), dan scikit-learn (algoritma analitik data dan penambangan). Python juga mendukung berbagai kerangka pelatihan seperti TensorFlow, PyTorch, XGBoost, dan LightGBM.
MaxCompute menyediakan ekosistem pengembangan Python untuk memenuhi kebutuhan pemrosesan, analitik, penambangan, dan pelatihan model pada skala data besar. Anda dapat menggunakan API Python terpusat untuk melakukan pemrosesan data dan penambangan secara efisien dan komprehensif.
Sejarah Pengembangan
Gambar berikut menunjukkan sejarah pengembangan ekosistem Python yang disediakan oleh MaxCompute.
PyODPS
PyODPS dirilis resmi pada tahun 2015 sebagai SDK MaxCompute untuk Python. Dengan antarmuka Python, Anda dapat melakukan operasi pada data di MaxCompute. Setelah beberapa iterasi pengembangan, PyODPS mendukung DataFrame, menyediakan sintaksis mirip Pandas serta operator bawaan untuk agregasi data, pengurutan, dan deduplikasi.
Fitur inti PyODPS:
Dukungan untuk operasi dasar pada objek MaxCompute (sejak 2015):
PyODPS mendukung akses ke objek MaxCompute seperti tabel, sumber daya, dan fungsi.
PyODPS memungkinkan Anda mengirimkan permintaan SQL menggunakan metode
run_sqlatauexecute_sql.PyODPS memungkinkan Anda menjalankan perintah Platform untuk AI (PAI) guna menyelesaikan tugas pembelajaran mesin menggunakan metode
run_xflowatauexecute_xflow.PyODPS memungkinkan Anda menggunakan operasi API Tunnel berbasis cloud-native seperti
open_write,open_readeruntuk mengunggah dan mengunduh data.
Dukungan untuk API DataFrame dan antarmuka mirip Pandas untuk memanfaatkan kemampuan komputasi MaxCompute dalam komputasi DataFrame (2016–2022):
PyODPS DataFrame memungkinkan Anda menggunakan Python untuk melakukan operasi data, sehingga mempermudah pemanfaatan fitur bahasa Python.
PyODPS DataFrame menyediakan banyak antarmuka mirip Pandas dengan sintaksis diperluas. Contohnya, API MapReduce ditambahkan untuk beradaptasi dengan lingkungan data besar.
PyODPS DataFrame menyediakan fungsi bawaan untuk operasi umum seperti agregasi data, pengurutan data, deduplikasi data, pengambilan sampel data, dan visualisasi.
Mars
Ekosistem Python mencakup pustaka komputasi ilmiah yang kaya seperti NumPy, Pandas, dan scikit-learn. Pustaka-pustaka tersebut menyediakan operator analitik data dan penambangan yang nyaman. Namun, sebagian besar dibatasi oleh sumber daya mandiri. Mars adalah kerangka komputasi terdistribusi berbasis tensor yang mengimplementasikan sekitar 70% antarmuka NumPy secara terdistribusi. Mars secara signifikan mengurangi kesulitan dalam menulis kode komputasi ilmiah terdistribusi dan meningkatkan kinerja.
Fitur inti Mars:
Kompatibilitas dan kemampuan terdistribusi: Mars dirilis open source pada Januari 2019. Mars memungkinkan NumPy, Pandas, scikit-learn, dan fungsi Python dieksekusi secara terdistribusi, serta kompatibel dengan sebagian besar antarmuka.
MaxFrame
Mars dan PyODPS cocok untuk skenario yang berbeda. Misalnya, pengguna yang terbiasa dengan Pandas dan ingin menjalankan NumPy atau scikit-learn secara paralel dan terdistribusi lebih cocok menggunakan Mars. Pengguna yang terbiasa dengan DataFrame dan memiliki persyaratan tinggi untuk stabilitas serta jumlah data (tingkat terabyte atau lebih tinggi) cocok menggunakan PyODPS. Namun, kompleksitas arsitektur juga membawa kesulitan bagi pengguna.
MaxFrame adalah kerangka komputasi ilmiah terdistribusi yang dikembangkan oleh Alibaba Cloud. MaxFrame sepenuhnya kompatibel dengan antarmuka Pandas dan dapat secara otomatis memilih mesin bawah yang optimal untuk mengeksekusi pekerjaan, meningkatkan kinerja dan efisiensi pengembangan. Pengguna tidak perlu lagi fokus pada pemilihan mesin eksekusi bawah, memungkinkan mereka menyelesaikan seluruh proses dari pengembangan data hingga analitik, pelatihan AI, dan inferensi secara efisien. Gambar berikut menunjukkan arsitektur.
Fitur inti MaxFrame:
Kebiasaan pengembangan yang lebih familiar
MaxFrame kompatibel dengan ekosistem pengembangan Python dan menyediakan antarmuka pengembangan terpadu untuk ekosistem Python MaxCompute. Anda dapat menggunakan kode Python yang sama untuk mengimplementasikan proses pengembangan data dan AI secara lengkap.
MaxFrame dapat langsung mereferensikan pustaka pihak ketiga seperti NumPy, SciPy, Pandas, dan Matplotlib untuk melakukan operasi seperti komputasi ilmiah, analisis data, dan visualisasi, mengurangi biaya operasi pengguna.
Kinerja pemrosesan yang lebih tinggi
MaxFrame memungkinkan Anda langsung mengakses data MaxCompute. Saat menjalankan MaxFrame, Anda tidak perlu menarik data ke mesin lokal, menghilangkan kebutuhan transfer data dan meningkatkan efisiensi eksekusi.
MaxFrame dapat langsung menggunakan sumber daya komputasi elastis dalam jumlah besar di MaxCompute. MaxFrame mendukung distribusi otomatis dan pemrosesan paralel, secara signifikan mengurangi waktu pemrosesan data.
Pengalaman pengembangan yang lebih nyaman
MaxFrame terintegrasi dengan MaxCompute Notebook dan DataWorks. Anda dapat langsung menggunakan MaxFrame di MaxCompute Notebook atau DataWorks tanpa perlu mengonfigurasi lingkungan. Anda juga dapat menginstal dan menggunakan MaxFrame di lingkungan lokal.
MaxFrame memungkinkan Anda langsung mereferensikan gambar bawaan dan gambar kustom di MaxCompute, mengurangi waktu untuk mempersiapkan lingkungan pengembangan dan mencegah konflik antara versi lingkungan.
Dukungan operator yang ditingkatkan
MaxFrame sepenuhnya kompatibel dengan antarmuka Pandas dan secara otomatis melakukan pemrosesan terdistribusi, memastikan kemampuan pemrosesan data yang kuat serta meningkatkan efisiensi pemrosesan dan komputasi data.