すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:MaxFrame 固有の API

最終更新日:Nov 09, 2025

このトピックでは、Session、Input/Output、Execute、Fetch など、MaxFrame に固有の API について説明します。これらの API は、MaxFrame タスクでデータを処理するための便利な方法を提供します。

セッション

new_session

  • API 名: new_session。ソースコードの詳細については、「new_session」をご参照ください。

    new_session(
      session_id: str = None,
      default: bool = True,
      new: bool = True,
      odps_entry: Optional[ODPS] = None
    )
  • 説明: MaxFrame タスクセッションを開始します。

  • 入力パラメーター

    パラメーター

    データの型

    必須

    説明

    session_id

    文字列

    いいえ

    セッション識別子。

    このパラメーターは、新しいセッションの一意の識別子を指定するために使用されます。このパラメーターが指定されていない場合、MaxFrame は自動的にデフォルトの識別子を生成します。

    default

    ブール値

    いいえ

    作成されたセッションをデフォルトセッションとして使用するかどうかを指定します。

    デフォルト値: True。

    new

    ブール値

    いいえ

    セッションを作成するかどうかを指定します。

    デフォルト値: True。このパラメーターを False に設定すると、session_id に基づいて既存のセッションが再利用されます。

    odps_entry

    ODPS

    はい

    MaxCompute のエントリーオブジェクト。詳細については、「MaxCompute エントリーポイントの作成」をご参照ください。

  • 戻り値

    セッションオブジェクト。

  • コード例

    from maxframe import new_session
    from odps import ODPS
    
    # MaxFrame アカウントを使用して MaxCompute を初期化します。
    o = ODPS(
        # 環境変数 ALIBABA_CLOUD_ACCESS_KEY_ID を Alibaba Cloud アカウントの AccessKey ID に設定します。
        # 環境変数 ALIBABA_CLOUD_ACCESS_KEY_SECRET を Alibaba Cloud アカウントの AccessKey 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',
    )
    
    # MaxFrame セッションを初期化します。
    session = new_session(odps_entry=o)

入出力関連の API

read_odps_table

  • API 名: read_odps_table。ソースコードの詳細については、「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
    )
  • 説明: MaxCompute テーブルからデータを読み取り、DataFrame オブジェクトを構築します。特定の列をインデックスとして指定できます。インデックスを指定しない場合、RangeIndex が生成されます。

  • 入力パラメーター

    パラメーター

    データの型

    必須

    説明

    table_name

    String/Table

    はい

    データを読み取る MaxCompute テーブルまたはテーブルオブジェクトの名前。

    partitions

    String/List

    いいえ

    データを読み取るテーブルパーティションまたはパーティションリスト。

    フォーマットは <partition_name>=<partition_value> です。このパラメーターを指定しない場合、テーブル内のすべてのパーティションからデータが読み取られます。

    columns

    リスト

    いいえ

    データを読み取る列の名前。

    フォーマットは <column1>, <column2>, ... です。このパラメーターを指定しない場合、パーティションキー列を除くすべての列からデータが読み取られます。

    index_col

    String/List

    いいえ

    インデックスとして使用される列の名前。

    odps_entry

    ODPS

    いいえ

    ODPS エントリーオブジェクト。詳細については、「ODPS エントリーポイントの初期化」をご参照ください。

    string_as_binary

    ブール値

    いいえ

    文字列データをバイナリ形式で読み取るかどうかを指定します。

    append_partitions

    ブール値

    いいえ

    パーティションキー列からデータを読み取るかどうかを指定します。

    デフォルト値は False です。このパラメーターを True に設定し、columns パラメーターが指定されていない場合、パーティションキー列を含むすべての列からデータが読み取られます。

  • 戻り値

    DataFrame オブジェクト。

  • コード例

    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())
    
    # 戻り値		
    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

  • API 名: read_odps_query。ソースコードの詳細については、「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
      )
  • 説明: MaxCompute SQL クエリからデータを読み取り、DataFrame オブジェクトを作成します。特定の列をインデックスとして指定できます。インデックスを指定しない場合、RangeIndex が生成されます。

  • 入力パラメーター

    パラメーター

    データの型

    必須

    説明

    query

    文字列

    はい

    読み取る MaxCompute SQL 文。

    odps_entry

    ODPS

    いいえ

    MaxCompute エントリーオブジェクト。詳細については、「MaxCompute エントリーポイントの作成」をご参照ください。

    index_col

    String/List

    いいえ

    インデックスとして使用される列の名前。

    string_as_binary

    ブール値

    いいえ

    文字列データをバイナリ形式で読み取るかどうかを指定します。

  • 戻り値

    DataFrame オブジェクト。

  • コード例

    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

  • API 名: to_odps_table。ソースコードの詳細については、「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
    )
  • 説明: DataFrame オブジェクトを MaxCompute テーブルに書き込みます。テーブルが MaxCompute に存在しない場合、MaxFrame は自動的にテーブルを作成します。

  • 入力パラメーター

    パラメーター

    データの型

    必須

    説明

    table

    String/Table

    はい

    DataFrame データを書き込むテーブルまたはテーブルオブジェクトの名前。

    partition

    文字列

    いいえ

    データを書き込むパーティション。

    例: pt1=xxx, pt2=yyy

    partition_col

    String/List

    いいえ

    DataFrame でパーティションキー列として使用される列の名前。

    overwrite

    ブール値

    いいえ

    テーブルまたはパーティションが既に存在する場合にデータを上書きするかどうかを指定します。

    デフォルト値: False。

    unknown_as_string

    ブール値

    いいえ

    認識されない型のデータを STRING データ型として処理するかどうかを指定します。

    デフォルト値: False。このパラメーターを True に設定すると、DataFrame のオブジェクトタイプは STRING データ型として処理されます。エラーが発生する可能性があります。

    index

    ブール値

    いいえ

    インデックスを格納するかどうかを指定します。

    デフォルト値: True。

    index_label

    String/List

    いいえ

    インデックスに指定された列の名前。

    インデックス列の名前は index_label パラメーターで指定します。このパラメーターを指定しない場合、デフォルト名 `index` が使用されます。単一レベルのインデックスの場合、名前はデフォルトで `index` になります。複数レベルのインデックスの場合、名前は `level_x` となります。ここで x はインデックスのレベルです。

    lifecycle

    int

    いいえ

    出力テーブルのライフサイクル。

    このパラメーターの値は正の整数です。テーブルが既に存在する場合、このパラメーターの設定は元のパラメーター設定を上書きします。

  • 戻り値

    DataFrame オブジェクト。

  • 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

  • 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
    )
  • 説明: MaxFrame ジョブによってトレーニングされた XGBoost モデルを MaxCompute モデルオブジェクトとして保存します。

  • 入力パラメーター

    パラメーター

    データの型

    必須

    説明

    model_name

    文字列

    はい

    モデル名。

    • ジョブで projectschema が個別に指定されている場合は、モデル名のみを指定します。それ以外の場合は、モデル名を project.schema.model 形式で指定します。

    model_version

    文字列

    いいえ

    モデルバージョン。

    • このパラメーターを指定しない場合、システムは自動的にバージョンを生成します。

    schema

    文字列

    いいえ

    モデルが属するスキーマ。

    • このパラメーターを指定しない場合、デフォルトのスキーマは "default" です。

    project

    文字列

    いいえ

    モデルが属するプロジェクト。

    description

    文字列

    いいえ

    モデルの説明。

    version_description

    文字列

    いいえ

    モデルバージョンの説明。

    create_model

    ブール値

    いいえ

    モデルが存在しない場合に自動的に作成するかどうかを指定します。

    デフォルト値: True。

    set_default_version

    ブール値

    いいえ

    現在のバージョンをモデルのデフォルトバージョンとして設定するかどうかを指定します。

    デフォルト値: False。

  • 戻り値

    Scalar オブジェクト。.execute() を呼び出して、モデルの保存操作をトリガーできます。

  • # 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)
    
    # モデルを MaxCompute に保存する
    clf.to_odps_model(
        model_name="my_model",
        # プロジェクトとスキーマを指定する場合、model_name のフォーマットは次のようになります:
        # model_name="project.schema.my_model"
        model_version="version1"
    ).execute()

実行

execute

  • API 名: execute。ソースコードの詳細については、「execute」をご参照ください。

    execute(
      session: SessionType = None
    )
  • 説明: execute メソッドを呼び出して、データ処理タスクを開始します。

  • 入力パラメーター

    パラメーター

    データの型

    必須

    説明

    session

    Session

    いいえ

    データ処理タスクを実行するために使用されるセッション。セッションの作成方法の詳細については、「new_session」をご参照ください。

    このパラメーターが指定されていない場合、new_session を使用して初期化されたグローバルセッションが使用されます。

  • 戻り値

    N/A。

  • 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

  • API 名: fetch。ソースコードの詳細については、「fetch」をご参照ください。

    fetch(
      session: SessionType = None
    )
  • 説明: 結果データをオンプレミス環境に返します。

  • 入力パラメーター

    パラメーター

    データの型

    必須

    説明

    session

    Session

    いいえ

    結果データを取得するために使用されるセッション。セッションの作成方法の詳細については、「new_session」をご参照ください。

    このパラメーターが指定されていない場合、new_session を使用して初期化されたグローバルセッションが使用されます。

  • 戻り値

    Pandas の DataFrame または Series。

  • コード例

    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)
    
    # 返された結果を取得します。
    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 rows x 2 columns]