# Aura DataFrame SDK概述
Aura DataFrame SDK提供了类Pandas的Python DataFrame开发能力，方便用户使用Python编写数据处理作业，并利用Aura内核高效的计算能力，为数据科学家、AI工程师等提供易用、高效的数据处理能力。
Aura DataFrame SDK基于Ibis Python DataFrame开源框架实现，将Ibis前端框架与Aura引擎对接。用户可基于熟悉的Ibis DataFrame API编写数据处理脚本，Ibis框架将Python API翻译为Aura引擎可执行的SQL语句并下发，实现计算逻辑在Aura引擎的高效处理。支持Ibis的API使用，具体Ibis API请参见[Ibis官方文档](https://ibis-project.org/)。
Aura DataFrame SDK支持的环境：
- Python版本推荐使用3.11。
- UDF运行时环境的Python版本支持3.10和3.11系列，建议使用3.11.9版本。
表1不同业务场景支持的Python版本 
| 业务场景           | 内置的Python包                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | 支持的Python版本               |
|:---|:---|:---|
| Python UDF       | - cloudpickle  - msgpack  - pyarrow  - protobuf  - pandas  - numpy  - redis  - opentelemetry-api  - opentelemetry-sdk  - opentelemetry-exporter-otlp-proto-grpc   | Python 3.10和Python 3.11 |
| 多模态数据处理         | - av (PyAV)  - pillow  - soundfile  - decord  - opencv-python-headless  - numpy  - scipy                                                                                                                                                                                                                                                                        | Python 3.11                 |
| AI推理/模型服务（UDF） | - torch  - torchvision  - onnx  - onnxruntime  - torch_npu  - onnxruntime-cann  - vlm  - yreserve  - Ascend-cann-toolkit  - kernels                | Python 3.11              |
   
**如果需要在 DataFrame开发中管理对象与权限**（如创建带特殊表格式的表、配置对象授权），请参见《Aura语法参考》的"使用Aura SQL开发的流程"导读章节。
#### 约束与限制
Aura DataFrame SDK仅支持AuraJobV2端点。
#### Aura DataFrame SDK功能介绍
Aura DataFrame SDK 提供以下类型的接口能力。
表2Aura DataFrame SDK 
| 接口                                                                                                             | 作用                                                                                                                                                                                                            |
|:---|:---|
| [Session APIs](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0135.html)                | 负责会话建立与管理，是使用SDK的入口。包括建立连接（ai_lake.connect）、配置UDF部署工作区（set_function_staging_workspace）、加载数据集（load_dataset）、执行SQL（sql）、生成执行计划（explain_plan/explain_performance）、获取会话统计（stats）等。所有数据操作前，需先通过该类接口建立会话。            |
| [Dataset APIs](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html)                | 对数据集进行数据处理，是开发的核心。包括列操作（select_columns、add_column、drop_columns、rename_columns）、行筛选（filter、limit、take）、聚合统计（aggregate、groupby、max/min/mean）、数据变换（map、map_batches、flat_map、order_by、join）、触发执行（execute、show）等。   |
| [Table APIs](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html)                   | 对数据库表进行管理。包括创建表（create_table）、删除表（drop_table/delete_table）、描述表（describe_table）、列出表（list_tables）、打开表（open_table），以及表的增删改（insert、update、delete）和列管理（add_columns、drop_columns、alter_column_type、rename_column）等。 |
| [I/O APIs](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0137.html)                      | 将数据写入湖仓存储格式，实现与数据湖的无缝集成。支持write_iceberg、write_orc、write_parquet等接口。                                                                                                                                           |
| [User-Defined Function APIs](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html) | 用户自定义函数的管理与使用。包括创建函数（create_scalar_function、create_agg_function、create_table_function）、获取函数（get_function）、列出函数（list_functions）、删除函数（delete_function）等，支持Scalar UDF、Class UDF、UDTF、UDAF等函数类型。                   |
| [AI APIs](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0136.html)                     | 调用大语言模型能力。包括文本生成（ai_generate）、模型注册（create_model）、模型列表（list_models）、模型详情（describe_model）、模型删除（drop_model）等，支持在DataFrame中直接进行大模型推理。                                                                            |
   
