Anda dapat menginstal SDK MaxFrame pada mesin lokal dan menggunakannya untuk berinteraksi dengan MaxCompute guna pemrosesan data terdistribusi.
Prasyarat
Sebelum memulai, pastikan persyaratan berikut telah terpenuhi:
-
Python 3.7 atau 3.11 telah diinstal pada sistem lokal Anda. Versi lainnya dapat menyebabkan error.
-
pip telah diinstal pada sistem lokal Anda. Jika belum, kunjungi website resmi Python untuk instruksi instalasi.
-
Proyek MaxCompute telah dibuat. Untuk informasi selengkapnya, lihat Create a MaxCompute project.
Instal MaxFrame
-
Pada jendela command line (seperti Windows CMD), jalankan perintah pip berikut untuk menginstal client MaxFrame:
pip install --upgrade maxframe -
Jalankan perintah berikut untuk memverifikasi instalasi. Jika tidak ada output atau error yang muncul, instalasi berhasil.
python -c "import maxframe.dataframe as md"Jika terjadi error, verifikasi versi Python default Anda dan alihkan ke Python 3.7 atau 3.11. Contohnya:
# Periksa versi default sistem python --version # Alihkan versi default sistem ke Python 3.7, di mana $path/python3.7 adalah path Python yang diinstal $path/python3.7 -m pip install setuptools>=3.0
Gunakan MaxFrame
-
Buat file lokal dengan ekstensi
.py(misalnya,test.py). Salin kode contoh berikut ke dalamtest.pydan simpan file tersebut.import os import maxframe.dataframe as md from odps import ODPS from maxframe import new_session # Buat titik masuk MaxCompute o = ODPS( # Atur variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID ke ID AccessKey Anda, # dan ALIBABA_CLOUD_ACCESS_KEY_SECRET ke rahasia AccessKey Anda. # Jangan gunakan string ID AccessKey dan rahasia AccessKey secara langsung. os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'), project='your-default-project', endpoint='your-end-point', ) table = o.create_table("test_source_table", "a string, b bigint", if_not_exists=True) with table.open_writer() as writer: writer.write([ ["value1", 0], ["value2", 1], ]) # Buat sesi MaxFrame session = new_session(o) df = md.read_odps_table("test_source_table",index_col="b") df["a"] = "prefix_" + df["a"] # Cetak data dataframe print(df.execute().fetch()) # Tulis data MaxFrame DataFrame ke tabel MaxCompute md.to_odps_table(df, "test_prefix_source_table").execute() # Hapus sesi MaxFrame session.destroy()Deskripsi parameter:
-
ALIBABA_CLOUD_ACCESS_KEY_ID dan ALIBABA_CLOUD_ACCESS_KEY_SECRET: Atur variabel lingkungan ini ke ID AccessKey dan rahasia AccessKey yang memiliki izin yang diperlukan untuk proyek MaxCompute target Anda. Anda dapat memperoleh ID AccessKey dari halaman AccessKey management.
-
your-default-project: Nama proyek MaxCompute Anda. Masuk ke MaxCompute console, lalu di panel navigasi kiri, pilih Workspace > Projects untuk melihatnya.
-
your-end-point: Titik akhir wilayah tempat proyek MaxCompute Anda berada. Untuk informasi selengkapnya, lihat Endpoint.
-
-
Buka direktori yang berisi
test.pydan jalankan file tersebut. Contohnya:python test.py
Validasi hasil
Setelah menjalankan kode Python, kueri data tabel sink. Jika hasilnya sesuai ekspektasi, MaxFrame telah berhasil diinstal dan terhubung ke kluster MaxCompute.
-
Menjalankan kode Python menghasilkan output berikut:
b a 0 prefix_value1 1 prefix_value2 -
Pada proyek MaxCompute target Anda, jalankan SQL berikut untuk mengkueri data di tabel
test_prefix_source_table.SELECT * FROM test_prefix_source_table;Hasil yang dikembalikan adalah:
+------------+------------+ | b | a | +------------+------------+ | 0 | prefix_value1 | | 1 | prefix_value2 | +------------+------------+