快速开始:使用Aura端点运行DataFrame或SQL作业
操作场景
AI DataLake支持提交DataFrame或SQL作业至Aura端点中运行,支持使用Python编辑器和DataArts Studio开发作业,DataArts Studio开发作业详细操作,请参见快速上手使用AI DataLake查询数据。
本章节为您演示如何使用Python编辑器提交DataFrame作业,包括以下操作:
1.创建一张data_frame_test_create_table表,表中包含col_a(int)和col_b(str)两列。
2. 向表中插入数据。
3. 查询表中插入的数据。
4. 删除表中的数据。
前提条件
- 已创建工作空间,详细操作请参见创建工作空间。
- 已创建计算资源,详细操作请参见购买预留资源池。
- 已创建Aura端点,详细操作请参见创建Aura引擎端点。
- 已获取用户的AK、SK信息。
- 在管理控制台页面,鼠标移动至右上方的用户名,在下拉列表中选择“我的凭证”。
- 单击“访问密钥”页签,单击“新增访问密钥”,输入验证码或密码。
- 单击“确定”,生成并下载访问密钥。在.csv文件中获取用户的AK、SK信息。
使用Python编辑器提交DataFrame作业至Aura端点运行
在Python环境下运行以下代码,即可实现DataFrame作业提交至Aura端点运行。相关端点信息通过ai_lake.connect()函数进行配置,同时建立与Aura端的连接。
ai_lake.connect()相关参数说明请参见表1。
| 参数 | 含义 |
|---|---|
| aura_endpoint | 指定连接的Endpoint信息,请参见地区和终端节点获取。 |
| aura_endpoint_id | 指定连接的Aura端点ID。 可登录AI DataLake控制台,在左侧导航栏选择“引擎管理 > 多模数据引擎 Aura”,在Aura端点列表中的“名称/ID”列查看要运行作业的端点ID信息。 |
| aura_workspace_id | 指定连接的工作空间ID。 可登录AI DataLake控制台,在左侧导航栏中,单击工作空间区域,在下拉列表中选择“工作空间管理”,在工作空间列表中的“空间名称/ID”列查看运行作业的Aura端点所在工作空间的ID信息。 |
| aura_endpoint_name | 指定连接的Aura端点名。 |
| lf_catalog_name | 指定连接的LakeFormation Catalog目录。 |
| lf_instance_id | 指定LakeFormation实例的ID。 |
| access_key | 指定连接的访问密钥ID。 |
| secret_key | 指定连接的访问密钥。 |
| security_token | 指定连接的安全令牌(仅在上述访问密钥ID,访问密钥是临时的情况下需要)。 |
| logging_level | 指定日志级别。 |
| verify | 指定连接的认证。 |
| default_database | 指定连接默认使用的数据库名称。 |
| use_single_cn_mode | 指定是否使用单cn模式。 |
| api_version | 指定使用的API版本,默认为v2。 |
ai_lake.connect()有两种不同的API接口,根据api_version参数的取值分为两种建立连接的方式,该参数默认为v2。
api_version="v1":需要传入aura_endpoint_id,lf_instance_id和lf_catalog_name。
from aura_frame.multimodal import ai_lake
conn = ai_lake.connect(
aura_endpoint="xxx",
aura_endpoint_id="endpoint-id",
aura_workspace_id="workspace-id",
lf_catalog_name="lf-name",
lf_instance_id="lf-id",
access_key='ak-xxxx',
secret_key='sk-xxxx',
default_database="postgres",
use_single_cn_mode=True,
api_version="v1"
)
api_version="v2":需要传入aura_endpoint_name和lf_catalog_name。
from aura_frame.multimodal import ai_lake
conn = ai_lake.connect(
aura_endpoint="xxx",
aura_endpoint_name="endpoint_name",
aura_workspace_id="workspace-id",
lf_catalog_name="lf-name",
access_key='ak-xxxx',
secret_key='sk-xxxx',
default_database="postgres",
use_single_cn_mode=True,
api_version="v2"
) 使用示例:
import ibis
from aura_frame.multimodal import ai_lake
def aura_connection():
conn = ai_lake.connect(
aura_endpoint="xxx",
aura_endpoint_name="endpoint_name",
aura_workspace_id="workspace-id",
lf_catalog_name="lf-name",
access_key='ak-xxxx',
secret_key='sk-xxxx',
default_database="postgres",
use_single_cn_mode=True,
api_version="v2"
)
return conn
if __name__ == "__main__":
table_name = "data_frame_test_create_table"
db = "dataframe_test"
set_schema_sql = "set current_schema=dataframe_test"
# get connection
aura_con = aura_connection()
aura_connsql(set_schema_sql)
aura_conndrop_table(table_name, database=db, force=True)
# create table
aura_conncreate_table(table_name, schema={"col_a": ibis.dtype("int64"), "col_b": ibis.dtype("string")}, database=db)
# insert rows
aura_connsql("INSERT INTO dataframe_test.data_frame_test_create_table VALUES(1, 's1'), (2, 's2'), (3, 's3')")
# select rows
ds = aura_connload_dataset(table_name, database=db)
ds.select_columns([ds.col_a, ds.col_b]).show(3)
# drop table
aura_conndrop_table(table_name, database=db)
aura_connclose()
DataFrame作业示例运行成功后,回显结果如下,例如:
[INFO] [Aura Frame] 2026-04-21 11:52:09 Setting guc options: 'SET timezone = UTC; SET obs_result_format = 2;SET current_schema = ffff;SET fq_query_vdn = 1;'
[INFO] [Aura Frame] 2026-04-21 11:52:10 Created session 27b69c6c-0e69-4507-8e01-056517818006 successfully.
[INFO] [Aura Frame] 2026-04-21 11:52:11 Dropping table dataframe_test.data_frame_test_create_table
[INFO] [Aura Frame] 2026-04-21 11:52:11 Creating table dataframe_test.data_frame_test_create_table
[INFO] [Aura Frame] 2026-04-21 11:52:11 CREATE TABLE "dataframe_test"."data_frame_test_create_table" ("col_a" BIGINT, "col_b" TEXT)
[INFO] [Aura Frame] 2026-04-21 11:52:16 Loading dataset dataframe_test.data_frame_test_create_table
[INFO] [Aura Frame] 2026-04-21 11:52:21 SQL statement for executing:
SELECT *
FROM "dataframe_test"."data_frame_test_create_table" AS "t0"
LIMIT 3
[INFO] [Aura Frame] 2026-04-21 11:52:25 Running SQL statement, id is c8ec7709-7825-4c53-b3bc-cbbedae85bba
col_a col_b
0 1 s1
1 2 s2
2 3 s3
[INFO] [Aura Frame] 2026-04-21 11:52:25 Dropping table dataframe_test.data_frame_test_create_table