访问与安装#

为您的MaxCompute项目启用MaxFrame#

在使用MaxFrame之前,您需要设置一个MaxCompute项目。请查看`此处 <https://www.alibabacloud.com/zh/product/maxcompute>`_获取更多信息。

备注

目前MaxFrame正处于试用阶段。如果您需要为您的MaxCompute项目启用MaxFrame,请`填写表单申请试用 <https://survey.aliyun.com/apps/zhiliao/m40AIrxhA?spm=a2c4g.11186623.0.0.a69340f2mJENKJ>`_。

在本地安装MaxFrame客户端#

在创建了您自己的MaxCompute项目并启用了MaxFrame之后,您可以使用`pip`命令安装MaxFrame客户端:

pip install maxframe

然后您可以创建一个MaxCompute表,使用MaxFrame进行一些转换操作,然后将结果存储到另一个MaxCompute表中。

import maxframe.dataframe as md
from odps import ODPS
from maxframe import new_session

# create MaxCompute entrance object and test table
o = ODPS(
    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")
with table.open_writer() as writer:
    writer.write([
        ["value1", 0],
        ["value2", 1],
    ])

# create maxframe session
session = new_session(o)

# perform data transformation
df = md.read_odps_table("test_source_table")
df["a"] = "prefix_" + df["a"]
md.to_odps_table(df, "test_prefix_source_table").execute()

# destroy maxframe session
session.destroy()

通过DataWorks访问MaxFrame#

DataWorks为MaxCompute项目提供了任务调度能力。您可以通过DataWorks调度和运行MaxFrame作业。

要通过DataWorks运行MaxFrame作业,您需要创建一个PyODPS 3节点并在其中编写代码。PyODPS节点会嵌入MaxCompute账户和项目信息执行,因此您可以直接创建MaxFrame会话。

import maxframe.dataframe as md
from maxframe import new_session

# create maxframe session
session = new_session(o)

# perform data transformation
df = md.read_odps_table("test_source_table")
df["a"] = "prefix_" + df["a"]
md.to_odps_table(df, "test_prefix_source_table").execute()

# destroy maxframe session
session.destroy()

通过MaxCompute Notebook访问MaxFrame#

`MaxCompute Notebook <https://help.aliyun.com/zh/maxcompute/user-guide/maxcompute-notebook-instruction>`_也提供了MaxFrame包。它还在notebook的环境变量中提供了MaxCompute账户信息,因此不需要额外提供账户信息。

import maxframe.dataframe as md
from maxframe import new_session

# create MaxCompute entrance object
o = ODPS(
    project='your-default-project',
    endpoint='your-end-point'
)
# create maxframe session
session = new_session(o)

# perform data transformation
df = md.read_odps_table("test_source_table")
df["a"] = "prefix_" + df["a"]
md.to_odps_table(df, "test_prefix_source_table").execute()

# destroy maxframe session
session.destroy()