全部產品
Search
文件中心

MaxCompute:在本地環境中使用MaxFrame

更新時間:May 20, 2025

MaxCompute支援通過MaxFrame SDK(本地MaxFrame用戶端)使用MaxFrame,本文在本地環境中使用MaxFrame的流程。

前提條件

在使用MaxFrame之前,請確保您已完成以下準備:

  • 本地系統中已安裝3.7或3.11版本的Python環境,使用其他版本可能會導致錯誤。

  • 本地系統中已安裝pip。如果沒有,請訪問Python官網擷取pip安裝指南。

  • 已建立MaxCompute專案,詳情請參見建立MaxCompute專案

安裝MaxFrame

  1. 在系統的命令列執行視窗(例如Windows的CMD視窗)中,通過pip命令安裝MaxFrame用戶端。命令如下:

    pip install --upgrade maxframe
  2. 執行如下命令檢查MaxFrame是否安裝成功。若無傳回值或報錯資訊,則表示安裝成功。

    python -c "import maxframe.dataframe as md"

    若存在報錯資訊,請查詢系統預設的Python版本並切換至Python 3.7或3.11版本,樣本如下:

    # 查詢系統預設版本
    python --version 
    
    # 將系統預設版本切換為Python 3.7,其中$path/python3.7為已安裝的python路徑
    $path/python3.7 -m pip install setuptools>=3.0

使用MaxFrame

  1. 在本地建立一個尾碼名為.py的PY檔案(以test.py為例),將下述範例程式碼複製到test.py中並儲存。

    import os
    import maxframe.dataframe as md
    from odps import ODPS
    from maxframe import new_session
    
    # 建立MaxCompute入口
    o = ODPS(
        # 確保 ALIBABA_CLOUD_ACCESS_KEY_ID 環境變數設定為使用者 Access Key ID,
        # ALIBABA_CLOUD_ACCESS_KEY_SECRET 環境變數設定為使用者 Access Key Secret,
        # 不建議直接使用AccessKey ID和 AccessKey Secret字串。
        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],
        ])
    
    # 建立MaxFrame session
    session = new_session(o)
    
    df = md.read_odps_table("test_source_table",index_col="b")
    df["a"] = "prefix_" + df["a"]
    
    # 列印dataframe資料
    print(df.execute().fetch())
    
    # MaxFrame DataFrame資料寫入MaxCompute表
    md.to_odps_table(df, "test_prefix_source_table").execute()
    
    # 銷毀 maxframe session
    session.destroy()

    參數說明:

    • ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRET:需將這些環境變數設定為具備目標MaxCompute專案相關許可權的AccessKey ID和AccessKey Secret。您可以進入AccessKey管理頁面擷取AccessKey ID。

    • your-default-project:MaxCompute專案名稱。您可以登入MaxCompute控制台,在左側導覽列選擇工作區>專案管理進行查看。

    • your-end-point:目標MaxCompute專案所在地區的Endpoint,詳情請參見Endpoint

  2. 進入test.py所在的檔案路徑,運行Python檔案。命令樣本如下:

    python test.py

結果驗證

執行上述Python代碼並查詢結果表資料,若結果符合預期,則表示MaxFrame安裝成功,且已成功串連MaxCompute叢集。

  1. 執行Python代碼返回如下結果:

    b           a
    0  prefix_value1
    1  prefix_value2
  2. 在目標MaxCompute專案中運行如下SQL,查詢test_prefix_source_table表的資料。

    SELECT * FROM test_prefix_source_table;

    返回結果:

    +------------+------------+
    | b          | a          |
    +------------+------------+
    | 0          | prefix_value1 |
    | 1          | prefix_value2 |
    +------------+------------+