Todos los productos
Search
Centro de documentos

MaxCompute:API específicas de MaxFrame

Última actualización: Sep 03, 2026

MaxFrame ofrece un conjunto de API que complementan la interfaz estándar de pandas para gestionar sesiones, leer y escribir tablas de MaxCompute, desencadenar cálculos distribuidos y recuperar resultados en el entorno local.

Sesión

new_session

Código fuente: new_session

new_session(
    session_id: str = None,
    default: bool = True,
    new: bool = True,
    odps_entry: Optional[ODPS] = None
)

Crea una sesión de MaxFrame y establece la conexión con MaxCompute.

Parámetros

Parameter

Type

Required

Default

Description

session_id

String

No

None

Identificador único de la sesión. Si no se especifica, MaxFrame genera uno automáticamente. Cuando new=False, este valor identifica la sesión existente que se reutilizará.

default

Boolean

No

True

Establece la sesión como predeterminada a nivel global. Si es True, las llamadas posteriores a execute() y fetch() utilizan esta sesión sin necesidad de pasar explícitamente el argumento session.

new

Boolean

No

True

Crea una nueva sesión. Establézcalo en False para conectarse a una sesión existente identificada por session_id.

odps_entry

ODPS

Sí

—

Objeto de entrada de MaxCompute. Consulte Create a MaxCompute entry point.

Valor de retorno: El objeto de sesión.

Ejemplo

import os
from maxframe import new_session
from odps import ODPS

# Initialize the MaxCompute entry object.
# Store credentials in environment variables — do not hardcode them.
o = ODPS(
    os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'),
    os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
    project='your-default-project',
    endpoint='your-endpoint',
)

# Create the MaxFrame session.
session = new_session(odps_entry=o)

Entrada/Salida

Las siguientes funciones permiten leer datos desde MaxCompute y escribirlos en dicho servicio.

Function

Description

read_odps_table

Lee una tabla de MaxCompute y la carga en un DataFrame

read_odps_query

Ejecuta una consulta SQL y devuelve los resultados como un DataFrame

to_odps_table

Escribe un DataFrame en una tabla de MaxCompute

to_odps_model

Guarda un modelo XGBoost entrenado en MaxCompute

Elección entre read_odps_table y read_odps_query: Utilice read_odps_table cuando necesite leer datos de una tabla específica (con filtros opcionales de partición y columna). Use read_odps_query cuando requiera filtrado a nivel de SQL o uniones entre varias tablas.

read_odps_table

Código fuente: 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
)

Lee datos de una tabla de MaxCompute y los devuelve como un DataFrame. Si no se especifican columnas de índice, se genera un RangeIndex.

Parámetros

Parameter

Type

Required

Default

Description

table_name

String/Table

Sí

—

Nombre de la tabla de MaxCompute u objeto de tabla del cual se leerán los datos.

partitions

String/List

No

None

Partición o lista de particiones que se desean leer. Formato: <partition_name>=<partition_value>. Si no se especifica, se leen todas las particiones.

columns

List

No

None

Columnas que se desean leer. Formato: <column1>, <column2>, .... Si no se especifica, se leen todas las columnas que no son de partición.

index_col

String/List

No

None

Una o más columnas para usar como índice del DataFrame.

odps_entry

ODPS

No

None

Objeto de entrada de MaxCompute. Consulte Create a MaxCompute entry point.

string_as_binary

Boolean

No

None

Lee las columnas de tipo string en formato binario.

append_partitions

Boolean

No

False

Si es True y no se ha especificado columns, incluye las columnas clave de partición en el resultado.

Valor de retorno: Un objeto DataFrame.

Ejemplo

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())

# Output:
#          age sex
# user_id
# 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]

read_odps_query

Código fuente: 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
)

Ejecuta una consulta SQL de MaxCompute y devuelve los resultados como un DataFrame. Si no se especifican columnas de índice, se genera un RangeIndex.

Parámetros

Parameter

Type

Required

Default

Description

query

String

Sí

—

Sentencia SQL de MaxCompute que se va a ejecutar.

odps_entry

ODPS

No

None

Objeto de entrada de MaxCompute. Consulte Create a MaxCompute entry point.

index_col

String/List

No

None

Una o más columnas para usar como índice del DataFrame.

string_as_binary

Boolean

No

None

Lee las columnas de tipo string en formato binario.

Valor de retorno: Un objeto DataFrame.

Ejemplo

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

Código fuente: 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
)

Escribe un DataFrame en una tabla de MaxCompute. Si la tabla no existe, MaxFrame la crea automáticamente.

Parámetros

Parameter

Type

Required

Default

Description

table

String/Table

Sí

—

Nombre de la tabla destino u objeto de tabla.

partition

String

No

None

Partición destino. Ejemplo: pt1=xxx, pt2=yyy.

partition_col

String/List

No

None

Columnas del DataFrame que se utilizarán como claves de partición en la tabla de salida.

overwrite

Boolean

No

False

Sobrescribe los datos si la tabla o la partición ya existen.

unknown_as_string

Boolean

No

False

Si es True, las columnas de tipo object del DataFrame se escriben como STRING. Puede producirse un error si falla la conversión de tipos.

index

Boolean

No

True

Escribe el índice del DataFrame como una columna en la tabla de salida.

index_label

String/List

No

None

Nombre de la columna para el índice. De forma predeterminada es index para un índice de un solo nivel, o level_x (donde x es el nivel del índice) para un índice multinivel.

lifecycle

int

No

None

Ciclo de vida de la tabla de salida en días (entero positivo). Si la tabla ya existe, este valor sobrescribe su configuración actual de ciclo de vida.

Valor de retorno: Un objeto DataFrame.

Ejemplo

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.to_odps_table('output_table', lifecycle=7)

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
)

Guarda un modelo XGBoost entrenado en un trabajo de MaxFrame como un objeto de modelo de MaxCompute. Llame a .execute() sobre el objeto Scalar devuelto para iniciar la operación de guardado.

Parámetros

Parameter

Type

Required

Default

Description

model_name

String

Sí

—

Nombre del modelo. Si project y schema se especifican por separado, proporcione únicamente el nombre del modelo. De lo contrario, utilice el formato project.schema.model_name.

model_version

String

No

None

Versión del modelo. Si no se especifica, el sistema genera una versión automáticamente.

schema

String

No

"default"

Esquema al que pertenece el modelo.

project

String

No

None

Proyecto al que pertenece el modelo.

description

String

No

None

Descripción del modelo.

version_description

String

No

None

Descripción de la versión del modelo.

create_model

Boolean

No

True

Crea el modelo si aún no existe.

set_default_version

Boolean

No

False

Establece la versión guardada como la versión predeterminada del modelo.

Valor de retorno: Un objeto Scalar. Llame a .execute() para iniciar la operación de guardado del modelo.

Ejemplo

from maxframe.learn.contrib.xgboost import XGBClassifier
import maxframe.dataframe as md

# Train an XGBoost model.
X_df = md.DataFrame(X, columns=cols)
clf = XGBClassifier(n_estimators=10)
clf.fit(X_df, y)

# Save the model to MaxCompute.
clf.to_odps_model(
    model_name='my_model',
    # If project and schema are not specified separately,
    # use the format: model_name='project.schema.my_model'
    model_version='version1'
).execute()

Ejecución

execute

Código fuente: execute

execute(
    session: SessionType = None
)

Envía una tarea de procesamiento de datos a MaxCompute para su ejecución. Dado que MaxFrame utiliza ejecución diferida, las operaciones sobre un DataFrame no se calculan hasta que se llama a execute().

Parámetros

Parameter

Type

Required

Default

Description

session

Session

No

None

Sesión que se utilizará para la ejecución. Si no se especifica, se usa la sesión predeterminada global creada mediante new_session.

Valor de retorno: Ninguna.

Ejemplo

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()

Recuperación de resultados

fetch

Código fuente: fetch

fetch(
    session: SessionType = None
)

Recupera el resultado del cálculo desde MaxCompute y lo devuelve como un DataFrame o Series de pandas en su entorno local. Siempre llame a execute() antes de invocar fetch().

Parámetros

Parameter

Type

Required

Default

Description

session

Session

No

None

Sesión que se utilizará para recuperar los resultados. Si no se especifica, se usa la sesión predeterminada global creada mediante new_session.

Valor de retorno: Un DataFrame o Series de pandas.

Ejemplo

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'
)
result = df.execute().fetch()
print(result)

# Output:
#          age sex
# user_id
# 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]