全部产品
Search
文档中心

MaxCompute:API spesifik-MaxFrame

更新时间:Nov 10, 2025

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 columns tidak 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 project dan schema ditentukan secara terpisah dalam pekerjaan, tentukan hanya nama modelnya. Jika tidak, tentukan nama model dalam format project.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]