更新时间:2026-07-03 GMT+08:00
分享

快速开始

前提条件

  • 已创建工作空间,详细操作请参见创建工作空间
  • 已创建计算资源,详细操作请参见购买预留资源池
  • 已创建Aura端点,详细操作请参见创建Aura引擎端点
  • 已获取用户的AK、SK信息。
    1. 在管理控制台页面,鼠标移动至右上方的用户名,在下拉列表中选择“我的凭证”。
    2. 单击“访问密钥”页签,单击“新增访问密钥”,输入验证码或密码。
    3. 单击“确定”,生成并下载访问密钥。在.csv文件中获取用户的AK、SK信息。

安装Aura DataFrame SDK

获取SDK,使用以下命令安装SDK包:
pip install huawei_aura_frame-3.3.0-py3-none-any.whl 

如果您需要了解SDK的隐私数据处理策略,请参见华为云SDK隐私声明

注意:

  • Python版本推荐使用3.11。
  • 公测期间,SDK安装包请联系运维人员获取。

使用Aura DataFrame

  1. 创建会话,入参请参考表1

    from aura_frame.multimodal import ai_lake
    import logging
    import os
    conn = ai_lake.connect(
        aura_endpoint=os.getenv("aura_endpoint"), 
        aura_endpoint_name=os.getenv("aura_endpoint_name"),
        aura_workspace_id=os.getenv("aura_workspace_id"), 
        lf_catalog_name=os.getenv("lf_catalog_name"), 
        access_key=os.getenv("access_key"),
        secret_key=os.getenv("secret_key"), 
        use_single_cn_mode=True,  # 表示是否开启单CN模式
        logging_level=logging.INFO # 设置日志级别
    )
    
    conn.set_function_staging_workspace(
        obs_directory_base=os.getenv("obs_directory_base"),
        obs_bucket_name=os.getenv("obs_bucket_name"),
        obs_server=os.getenv("obs_server"),
        access_key=os.getenv("access_key"),
        secret_key=os.getenv("secret_key"),
    )

  2. 加载数据集。

    import pandas as pd
    target_database = "test"
    df = pd.DataFrame({
        'a': [1],
        'b': [3],
        'c': [1]
    })
    ds = conn.from_pandas(df)
    ds.show()
       a  b  c
    0  1  3  1

  3. 数据加工。

    import ibis.expr.datatypes as dt
    import aura_frame as aura
    
    func_signature = aura.Signature(
        parameters=[
            aura.Parameter(name="start", annotation=int),
            aura.Parameter(name="endnum", annotation=int),
            aura.Parameter(name="step", annotation=int)
        ],
        return_annotation=dt.Struct({"col1": int}),
    )
    
    @aura.udf.python(database=target_database, signature=func_signature)
    def py_generate_series(start, endnum, step):
        current = start
        while current <= endnum:
            yield {'col1': current}
            current += step
    
    conn.delete_function("py_generate_series", database=target_database)
    
    fn = conn.create_table_function(
        py_generate_series,
        name="py_generate_series",
        database=target_database,
        signature=func_signature
    )
    ds = ds.flat_map(
        fn=fn,
        on=[ds.a, ds.b, ds.c],
        as_col='new_col'
    )
    ds.show()
       a  b  c  new_col
    0  1  3  1   1
    1  1  3  1   2
    2  1  3  1   3

  4. 关闭会话。

    connclose()

表1 connect()接口参数信息

参数

含义

类型

默认值

aura_endpoint

指定连接的Endpoint信息。

str | None

None

aura_endpoint_id

指定连接的Aura端点ID。

登录AI DataLake控制台,在左侧导航栏选择“引擎管理 > 多模数据引擎 Aura”,在Aura端点列表中的“名称/ID”列查看要运行作业的端点ID信息。

str | None

None

aura_endpoint_name

指定连接的Aura端点名称。

str | None

None

aura_workspace_id

指定连接的工作空间ID。

可登录AI DataLake控制台,在左侧导航栏中,单击工作空间区域,在下拉列表中选择“工作空间管理”,在工作空间列表中的“空间名称/ID”列查看运行作业的Aura端点所在工作空间的ID信息。

str | None

None

lf_instance_id

指定连接的LakeFormation服务实例ID。

str | None

None

lf_catalog_name

指定连接的目录。

str | None

None

access_key

指定连接的访问密钥ID,即获取的用户AK信息。

str | None

None

secret_key

指定连接的访问密钥,即获取的用户SK信息。

str | None

None

security_token

指定连接的安全令牌(仅在上述访问密钥ID,访问密钥是临时的情况下需要)。

str | None

None

token

指定连接的用户令牌。

str | None

None

logging_level

日志级别。

int

logging.INFO

use_single_cn_mode

表示是否开启单CN模式。

bool

False

verify

指定连接的认证。

bool

False

default_database

指定连接的数据库名称。

str | None

None

api_version

指定使用的API版本。

str

v2

相关文档