Pengenalan fungsi
MaxFrame adalah framework komputasi terdistribusi untuk Alibaba Cloud MaxCompute yang menyediakan antarmuka pemrograman Python guna mengatasi dua tantangan utama dalam pemrosesan data Python tradisional: hambatan kinerja dan perpindahan data yang tidak efisien. Dengan MaxFrame, Anda dapat melakukan pemrosesan dan analisis data besar berskala petabyte secara terdistribusi langsung di MaxCompute untuk tugas-tugas seperti eksplorasi data visual, komputasi ilmiah, serta pengembangan pembelajaran mesin dan AI. Hal ini memenuhi kebutuhan yang terus meningkat akan pemrosesan data besar dan pengembangan AI yang efisien dalam ekosistem Python.
Skenario
Eksplorasi data interaktif
MaxFrame memberikan pengalaman lancar tanpa batasan memori untuk analisis eksploratif, manipulasi, dan visualisasi dataset besar secara real-time, mirip dengan bekerja di Jupyter Notebook lokal.
Pra-pemrosesan data berskala besar (ETL)
Untuk tugas-tugas seperti pembersihan data, konversi format, dan rekayasa fitur pada data mentah berskala terabyte, Anda dapat menggunakan kode Python yang ekspresif dan mudah dipelihara, bukan logika SQL dan user-defined function (UDF) yang kompleks. Pendekatan ini juga memberikan kinerja tinggi berkat eksekusi terdistribusi.
AI dan pembelajaran mesin
Dalam alur kerja pengembangan model, MaxFrame menyatukan pengalaman pemrosesan data dan pelatihan model. Anda dapat menggunakan MaxFrame untuk menyiapkan data pelatihan secara efisien dan menggabungkannya dengan fitur image untuk mengimpor library seperti Scikit-learn dan XGBoost guna membangun alur kerja AI end-to-end.
Cakupan
Wilayah yang didukung
China (Hangzhou), China (Shanghai), China (Beijing), China (Shenzhen), China (Hong Kong), Jepang (Tokyo), Singapura, Indonesia (Jakarta), Jerman (Frankfurt), AS (Silicon Valley), dan AS (Virginia).
Lingkungan yang didukung
Lingkungan pengembangan Python lokal.
MaxCompute Notebook.
DataWorks Notebook.
DataWorks Data Development node tugas PyODPS 3.
Penagihan
MaxFrame ditagih berdasarkan penggunaan sumber daya komputasi dari pekerjaan. MaxFrame mendukung metode penagihan subscription.
Subscription: Pekerjaan mengonsumsi kuota dari kelompok sumber daya yang telah Anda beli tanpa dikenai biaya tambahan.
Untuk informasi selengkapnya, lihat Analisis detail tagihan dan penggunaan MaxCompute.
Keunggulan utama
Dibandingkan dengan alat pengembangan Python lainnya, MaxFrame lebih selaras dengan kebiasaan pengembangan yang sudah dikenal, menawarkan pemrosesan data yang lebih efisien, menyediakan sumber daya komputasi yang lebih elastis, serta memberikan pengalaman pengembangan yang lebih nyaman.
API yang kompatibel dengan Pandas: MaxFrame menyediakan API yang sangat kompatibel dengan Pandas, memungkinkan migrasi lancar kode yang sudah ada ke platform MaxCompute dan secara signifikan mengurangi biaya pembelajaran dan migrasi.
Eksekusi terdistribusi di sisi server: Pekerjaan MaxFrame dijalankan langsung di dalam kluster MaxCompute. Data tidak perlu ditarik ke klien lokal, sehingga menghilangkan hambatan kinerja akibat keterbatasan memori klien dan memungkinkan pemrosesan data berskala petabyte secara efisien.
Sumber daya komputasi elastis: MaxFrame menggunakan arsitektur serverless MaxCompute untuk mengalokasikan sumber daya komputasi sesuai permintaan. Anda dapat memproses data dalam skala apa pun tanpa perlu mengelola kluster.
Lingkungan pengembangan yang disederhanakan: MaxFrame menyediakan lingkungan bawaan Python 3.7 dan Python 3.11 dengan library umum seperti Pandas dan XGBoost yang telah dipra-instal. Anda dapat mengelola dependensi pihak ketiga dengan anotasi sederhana, sehingga konfigurasi lingkungan dan manajemen dependensi menjadi jauh lebih sederhana dibandingkan dengan pengemasan dan pengunggahan dependensi UDF secara manual.
Berikut ini perbandingan alat ini dengan alat pengembangan Python lainnya:
Item perbandingan | MaxFrame | PyODPS | Mars | SQL + UDF |
Antarmuka pengembangan | Kompatibel dengan Pandas. | Sintaks dan antarmuka berbeda jauh dari Pandas DataFrame. | Memerlukan penggunaan dua antarmuka: SQL dan Python. | |
Pemrosesan data | Pada waktu proses, data tidak perlu ditarik ke klien lokal untuk diproses. Hal ini mengurangi transfer data lokal yang tidak perlu dan meningkatkan efisiensi eksekusi pekerjaan. | Pada PyODPS, metode | Eksekusi terdistribusi hanya didukung untuk beberapa operator saja. Kluster harus dibuat saat inisialisasi, yang bisa lambat dan tidak stabil. | Mendukung pekerjaan terdistribusi berdasarkan kemampuan SQL MaxCompute. |
Sumber daya komputasi | Tidak dibatasi oleh ukuran sumber daya lokal dan mampu menembus hambatan kinerja Python single-machine. | Dibatasi oleh ukuran sumber daya lokal. | Dibatasi oleh ukuran sumber daya. Anda harus menentukan ukuran worker, CPU, dan memori. | Memungkinkan komputasi elastis untuk pekerjaan SQL berdasarkan arsitektur serverless MaxCompute. |
Pengalaman pengembangan | Menyediakan lingkungan pengembangan interaktif siap pakai dengan kemampuan penjadwalan offline. Termasuk library umum bawaan dan mendukung manajemen dependensi melalui anotasi, sehingga menghilangkan kebutuhan pengemasan manual. | Menyediakan lingkungan pengembangan interaktif siap pakai dan kemampuan penjadwalan offline. | Anda harus menyiapkan lingkungan runtime yang sesuai dan menjalankan kluster Mars. | Paket dependensi untuk UDF Python harus dikemas dan diunggah secara manual. |
Cara kerja
MaxFrame menyembunyikan kompleksitas pemrosesan terdistribusi. Alur kerja otomatisnya adalah sebagai berikut:
Pengiriman kode: Anda menulis dan menjalankan kode Python di klien, seperti Notebook. SDK MaxFrame menangkap kode tersebut dan mengirimkannya ke MaxCompute.
Penguraian dan optimasi: Setelah mesin eksekusi MaxCompute menerima pekerjaan, mesin tersebut mengurai sintaks, melakukan optimasi logis, dan mengubah pekerjaan menjadi rencana fisik yang dapat dijalankan secara paralel.
Eksekusi terdistribusi: Tugas yang telah dioptimalkan didistribusikan ke beberapa node komputasi di kluster MaxCompute untuk membaca data secara langsung dan melakukan komputasi paralel.
Pengembalian hasil: Setelah komputasi selesai, hasilnya diagregasi dan dikembalikan ke klien Anda.