Topik ini menjelaskan API yang khusus untuk MaxFrame, mencakup Session, Input/Output, Execute, dan Fetch. API-API ini menyediakan cara mudah untuk memproses data dalam tugas MaxFrame.
Session
new_session
Nama API: new_session. Untuk informasi lebih lanjut tentang kode sumber, lihat new_session.
new_session( session_id: str = None, default: bool = True, new: bool = True, odps_entry: Optional[ODPS] = None )Deskripsi: Memulai sesi tugas MaxFrame.
Parameter Masukan:
Parameter
Tipe Data
Diperlukan
Deskripsi
session_id
String
Tidak
Pengenal sesi.
Parameter ini digunakan untuk menentukan pengenal unik untuk sesi baru. Jika parameter ini tidak ditentukan, MaxFrame secara otomatis menghasilkan pengenal default.
default
Boolean
Tidak
Menentukan apakah akan menggunakan sesi yang dibuat sebagai sesi default.
Nilai default: True.
new
Boolean
Tidak
Menentukan apakah akan membuat sesi.
Nilai default: True. Jika parameter ini disetel ke False, sesi yang ada akan digunakan kembali berdasarkan session_id.
odps_entry
ODPS
Ya
Objek entri MaxCompute. Untuk informasi lebih lanjut, lihat Buat titik entri MaxCompute.
Nilai Kembali:
Objek Sesi.
Kode Contoh:
from maxframe import new_session from odps import ODPS # Gunakan akun MaxFrame untuk menginisialisasi MaxCompute. o = ODPS( # Setel variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_ID ke ID AccessKey akun Alibaba Cloud Anda. # Setel variabel lingkungan ALIBABA_CLOUD_ACCESS_KEY_SECRET ke Rahasia AccessKey akun Alibaba Cloud Anda. # Kami merekomendasikan agar Anda tidak langsung menggunakan ID AccessKey dan Rahasia AccessKey sebenarnya. os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'), os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'), project='proyek-default-anda', endpoint='titik-akhir-anda', ) # Inisialisasi sesi MaxFrame. session = new_session(odps_entry=o)
API terkait Input/Output
read_odps_table
Nama API: read_odps_table. Untuk informasi lebih lanjut tentang kode sumber, lihat read_odps_table.
read_odps_table( table_name: Union[str, Table], partitions: Union[None, str, List[str]] = None, columns: Optional[List[str]] = None, index_col: Union[None, str, List[str]] = None, odps_entry: ODPS = None, string_as_binary: bool = None, append_partitions: bool = False )Deskripsi: Membaca data dari tabel MaxCompute dan membangun objek DataFrame. Anda dapat menentukan kolom tertentu sebagai indeks. Jika tidak ditentukan, RangeIndex akan dihasilkan.
Parameter Masukan:
Parameter
Tipe Data
Diperlukan
Deskripsi
table_name
String/Tabel
Ya
Nama tabel MaxCompute atau objek tabel tempat Anda ingin membaca data.
partitions
String/Daftar
Tidak
Tabel partisi atau daftar partisi tempat Anda ingin membaca data.
Formatnya adalah
<nama_partisi>=<nilai_partisi>. Jika Anda tidak menentukan parameter ini, data dari semua partisi dalam tabel akan dibaca.columns
Daftar
Tidak
Nama kolom tempat Anda ingin membaca data.
Formatnya adalah
<kolom1>, <kolom2>, .... Jika Anda tidak menentukan parameter ini, data dari semua kolom kecuali kolom kunci partisi akan dibaca.index_col
String/Daftar
Tidak
Nama kolom yang digunakan sebagai indeks.
odps_entry
ODPS
Tidak
Objek entri ODPS. Untuk informasi lebih lanjut, lihat Inisialisasi titik masuk ODPS.
string_as_binary
Boolean
Tidak
Menentukan apakah membaca data string dalam bentuk biner.
append_partitions
Boolean
Tidak
Menentukan apakah membaca data dari kolom kunci partisi.
Nilai default adalah False. Jika parameter ini diatur ke True dan parameter
columnstidak ditentukan, data dari semua kolom, termasuk kolom kunci partisi, akan dibaca.Nilai Kembali:
Objek DataFrame.
Contoh kode
import maxframe.dataframe as md df = md.read_odps_table('BIGDATA_PUBLIC_DATASET.data_science.maxframe_ml_100k_users', index_col='user_id', columns=['age', 'sex']) print(df.execute().fetch()) # Nilai kembali user_id age sex 1 24 M 2 53 F 3 23 M 4 24 M 5 33 F ... ... ... 939 26 F 940 32 M 941 20 M 942 48 F 943 22 M
read_odps_query
Nama API: read_odps_query. Untuk informasi lebih lanjut tentang kode sumber, lihat read_odps_query.
read_odps_query( query: str, odps_entry: ODPS = None, index_col: Union[None, str, List[str]] = None, string_as_binary: bool = None )Deskripsi: Membaca data dari kueri SQL MaxCompute dan membuat objek DataFrame. Anda dapat menentukan kolom tertentu sebagai indeks. Jika tidak ditentukan, RangeIndex akan dihasilkan.
Parameter Masukan:
Parameter
Tipe Data
Diperlukan
Deskripsi
query
String
Ya
Pernyataan SQL MaxCompute yang ingin Anda baca.
odps_entry
ODPS
Tidak
Objek entri MaxCompute. Untuk informasi lebih lanjut, lihat Buat titik entri MaxCompute.
index_col
String/Daftar
Tidak
Nama kolom yang digunakan sebagai indeks.
string_as_binary
Boolean
Tidak
Menentukan apakah membaca data string dalam bentuk biner.
Nilai Kembali:
Objek DataFrame.
Contoh Kode
import maxframe.dataframe as md df = md.read_odps_query('select user_id, age, sex FROM `BIGDATA_PUBLIC_DATASET.data_science.maxframe_ml_100k_users`')
to_odps_table
Nama API: to_odps_table. Untuk informasi lebih lanjut tentang kode sumber, lihat to_odps_table.
to_odps_table( table: Union[Table, str], partition: Optional[str] = None, partition_col: Union[None, str, List[str]] = None, overwrite: bool = False, unknown_as_string: Optional[bool] = None, index: bool = True, index_label: Union[None, str, List[str]] = None, lifecycle: Optional[int] = None )Deskripsi: Menulis objek DataFrame ke tabel MaxCompute. Jika tabel tidak ada di MaxCompute, MaxFrame secara otomatis membuat tabel tersebut.
Parameter Masukan:
Parameter
Tipe Data
Diperlukan
Deskripsi
table
String/Tabel
Ya
Nama tabel atau objek tabel tempat Anda ingin menulis data DataFrame.
partition
String
Tidak
Partisi tempat Anda ingin menulis data.
Contohnya,
pt1=xxx, pt2=yyy.partition_col
String/Daftar
Tidak
Nama kolom yang digunakan sebagai kolom kunci partisi dalam DataFrame.
overwrite
Boolean
Tidak
Menentukan apakah menimpa data jika tabel atau partisi sudah ada.
Nilai default: False.
unknown_as_string
Boolean
Tidak
Menentukan apakah memproses data dengan tipe yang tidak dikenali sebagai tipe data STRING.
Nilai default: False. Jika parameter ini disetel ke True, tipe objek dalam DataFrame diproses sebagai tipe data STRING. Kesalahan mungkin terjadi.
index
Boolean
Tidak
Menentukan apakah menyimpan indeks.
Nilai default: True.
index_label
String/Daftar
Tidak
Nama kolom yang ditentukan untuk indeks.
Nama kolom indeks ditentukan oleh parameter index_label. Jika Anda tidak menentukan parameter ini, nama default `index` akan digunakan. Untuk indeks tingkat tunggal, nama defaultnya adalah `index`. Untuk indeks multi-level, namanya adalah `level_x`, di mana x adalah level indeks tersebut.
lifecycle
int
Tidak
Lifecycle tabel keluaran.
Nilai parameter ini adalah bilangan bulat positif. Jika tabel sudah ada, pengaturan parameter ini menimpa pengaturan parameter asli.
Nilai Kembali:
Objek DataFrame.
Contoh
import maxframe.dataframe as md df = md.read_odps_query('select user_id, age, sex FROM `BIGDATA_PUBLIC_DATASET.data_science.maxframe_ml_100k_users`', index_col='user_id')) ouput_df = df.to_odps_table('output_table', lifecycle = 7)
to_odps_model
Nama API: to_odps_model.
to_odps_model( model_name: str, model_version: str = None, schema: str = None, project: str = None, description: Optional[str] = None, version_description: Optional[str] = None, create_model: bool = True, set_default_version: bool = False )Deskripsi: Menyimpan model XGBoost yang dilatih oleh pekerjaan MaxFrame sebagai objek model MaxCompute.
Parameter Masukan
Parameter
Tipe data
Wajib
Deskripsi
model_name
String
Ya
Nama model.
Jika
projectdanschemaditentukan secara terpisah dalam pekerjaan, tentukan hanya nama modelnya. Jika tidak, tentukan nama model dalam formatproject.schema.model.
model_version
String
Tidak
Versi model.
Jika Anda tidak menentukan parameter ini, sistem akan secara otomatis menghasilkan versi.
schema
String
Tidak
Skema tempat model tersebut berada.
Jika Anda tidak menentukan parameter ini, skema default adalah "default".
project
String
Tidak
Proyek tempat model tersebut berada.
description
String
Tidak
Deskripsi model.
version_description
String
Tidak
Deskripsi versi model.
create_model
Boolean
Tidak
Menentukan apakah akan secara otomatis membuat model jika model tersebut belum ada.
Nilai default: True.
set_default_version
Boolean
Tidak
Menentukan apakah akan mengatur versi saat ini sebagai versi default model.
Nilai default: False.
Nilai Kembali
Objek Scalar. Anda dapat memanggil
.execute()untuk memicu operasi penyimpanan model.Contoh
# Latih model XGBoost from maxframe.learn.contrib.xgboost import XGBClassifier X_df = md.DataFrame(X, columns=cols) clf = XGBClassifier(n_estimators=10) clf.fit(X_df, y) # Simpan model ke MaxCompute clf.to_odps_model( model_name="my_model", # Jika Anda menentukan proyek dan skema, format model_name adalah sebagai berikut: # model_name="project.schema.my_model" model_version="version1" ).execute()
Eksekusi
execute
Nama API: execute. Untuk informasi lebih lanjut tentang kode sumber, lihat execute.
execute( session: SessionType = None )Deskripsi: Memanggil metode execute untuk memulai tugas pemrosesan data.
Parameter Masukan:
Parameter
Tipe Data
Diperlukan
Deskripsi
session
Sesi
Tidak
Sesi yang digunakan untuk menjalankan tugas pemrosesan data. Untuk informasi lebih lanjut tentang cara membuat sesi, lihat new_session.
Jika parameter ini tidak ditentukan, sesi global yang diinisialisasi menggunakan new_session akan digunakan.
Nilai Kembali:
Tidak ada.
Contoh
import maxframe.dataframe as md df = md.read_odps_query('select user_id, age, sex FROM BIGDATA_PUBLIC_DATASET.data_science.maxframe_ml_100k_users', index_col='user_id')) df.execute()
Fetch
fetch
Nama API: fetch. Untuk informasi lebih lanjut tentang kode sumber, lihat fetch.
fetch( session: SessionType = None )Deskripsi: Mengembalikan data hasil ke lingkungan lokal.
Parameter Masukan:
Parameter
Tipe Data
Diperlukan
Deskripsi
session
Sesi
Tidak
Sesi yang digunakan untuk mendapatkan data hasil. Untuk informasi lebih lanjut tentang cara membuat sesi, lihat new_session.
Jika parameter ini tidak ditentukan, sesi global yang diinisialisasi menggunakan new_session akan digunakan.
Nilai Kembali:
DataFrame atau Series dari Pandas.
Kode Contoh:
import maxframe.dataframe as md df = md.read_odps_query('select user_id, age, sex FROM `BIGDATA_PUBLIC_DATASET.data_science.maxframe_ml_100k_users`', index_col='user_id') res = df.execute().fetch() print(res) # Dapatkan hasil yang dikembalikan. user_id age sex 1 24 M 2 53 F 3 23 M 4 24 M 5 33 F ... ... .. 939 26 F 940 32 M 941 20 M 942 48 F 943 22 M [943 baris x 2 kolom]