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

MaxCompute:MaxFrame固有のAPI

最終更新日:Jan 08, 2025

このトピックでは、セッション、入出力、実行、フェッチAPIなど、MaxFrameに固有のいくつかの種類のAPIについて説明します。 これらのAPIは、MaxFrameタスクでデータを処理するために使用されます。

セッション関連API

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

    String

    任意

    セッション識別子。

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

    default

    ブール値

    選択可能

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

    デフォルト値は True です。

    new

    ブール値

    選択可能

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

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

    odps_entry

    ODPS

    必須

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

  • 戻り値

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

  • サンプルコード

    from maxframe import new_session
    from odps import ODPS
    
    # Use the MaxFrame account to initialize MaxCompute.
    o = ODPS(
        # Set the environment variable ALIBABA_CLOUD_ACCESS_KEY_ID to the AccessKey ID of your Alibaba Cloud account. 
        # Set the environment variable ALIBABA_CLOUD_ACCESS_KEY_SECRET to the AccessKey secret of your Alibaba Cloud account. 
        # We recommend that you do not directly use the actual AccessKey ID and AccessKey secret. 
        os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
        os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
        project='your-default-project',
        endpoint='your-end-point',
    )
    
    # Initialize the MaxFrame session.
    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

    文字列 /テーブル

    必須

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

    partitions

    文字列 /リスト

    選択可能

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

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

    columns

    List

    選択可能

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

    このパラメータの値は、<column1> 、<column2> 、...形式を指定します。 このパラメーターを指定しない場合、パーティションキー列を除くテーブル内のすべての列のデータが読み取られます。

    index_col

    文字列 /リスト

    選択可能

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

    odps_entry

    ODPS

    選択可能

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

    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())
    
    # Return value		
    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

    String

    必須

    読みたいMaxCompute SQL文。

    odps_entry

    ODPS

    選択可能

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

    index_col

    文字列 /リスト

    選択可能

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

    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

    文字列 /テーブル

    必須

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

    partition

    String

    任意

    データの書き込み先のパーティション。

    例: pt1=xxx, pt2=yyy

    partition_col

    文字列 /リスト

    選択可能

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

    overwrite

    ブール値

    選択可能

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

    デフォルト値:False。

    unknown_as_string

    ブール値

    選択可能

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

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

    index

    ブール値

    選択可能

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

    デフォルト値は True です。

    index_label

    文字列 /リスト

    選択可能

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

    インデックス列の名前は、index_labelパラメーターで指定します。 このパラメーターを指定しない場合、デフォルトの名前インデックスが使用されます。 1レベルのインデックスのみが存在する場合、インデックスはデフォルトでindexという名前になります。 マルチレベルインデックスが存在する場合、各インデックスの名前はlevel_xです。 xはインデックスのレベルです。

    ライフサイクルの設定 (Set 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)

実行

execute

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

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

  • 入力パラメーター

    パラメーター

    データ型

    必須

    説明

    セッション

    セッション

    選択可能

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

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

  • 戻り値

    非該当

  • サンプルコード

    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
    )
  • 説明: 結果データをオンプレミス環境に返します。

  • 入力パラメーター

    パラメーター

    データ型

    必須

    説明

    セッション

    セッション

    選択可能

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

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

  • 戻り値

    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')
    res = df.execute().fetch()
    print(res)
    
    # Obtain the returned result.      
    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]