# Aura DataFrame SDK总览
Aura DataFrame主要包含数据处理、数据管理、输入/输出、辅助工具、触发执行五个部分：
- 数据处理：支持丰富的变换操作，如map()、flat_map()、filter()、join()、groupby()等，可对样本进行特征工程和结构化处理。
- 数据管理：提供对数据集的增删改查能力，包括insert()、update()、delete()以及索引创建与删除，支持数据生命周期管理。
- 输入/输出：具备向主流湖仓格式，如Parquet、Iceberg写入数据的能力，实现与数据湖无缝集成。
- 辅助工具：提供schema()、columns()和explain_plan()等元信息查询与执行计划分析功能，便于调试与优化。
- 触发执行：通过execute()、limit()、take()等方法触发实际计算并获取结果，支持懒加载与按需执行。
表1接口总览 
| 操作类型 | 接口                                                                                                                                                               | 描述                         |
|:---|:---|:---|
| Session APIs                       | [load_dataset](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0135.html#aidatalake_061_0135__zh-cn_topic_0000002560841245_section18842171362718)                   | 从指定数据库加载数据集。                                         |
| Session APIs                       | [set_function_staging_workspace](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0135.html#aidatalake_061_0135__zh-cn_topic_0000002560841245_section11381164674118) | 配置函数部署所需的临时工作区，包括设置必要的凭证和存储信息。                       |
| Session APIs                       | [sql](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0135.html#aidatalake_061_0135__zh-cn_topic_0000002560841245_section15525847154110)                             | 用于执行SQL查询语句，并返回查询结果。                                    |
| Session APIs                       | [explain_plan](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0135.html#aidatalake_061_0135__zh-cn_topic_0000002560841245_section17536203316463)                    | 生成作业执行计划。                                             |
| Session APIs                       | [explain_performance](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0135.html#aidatalake_061_0135__zh-cn_topic_0000002560841245_section659716155010)              | 执行查询并生成计划，计划中包含执行过程中详细的性能指标。                          |
| Session APIs                       | [stats](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0135.html#aidatalake_061_0135__zh-cn_topic_0000002560841245_section191511626161212)                         | 获取当前会话的所有历史作业的执行记录。                                   |
| Dataset APIs                       | [columns](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section1478001222)                               | 获取Dataset的所有列的列名集合。         |
| Dataset APIs                       | [add_column](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section9465813150)                          | 给一个Dataset添加列。             |
| Dataset APIs                       | [drop_columns](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section141833221064)                       | 删除Dataset的列。                |
| Dataset APIs                       | [aggregate](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section103843237613)                         | 通过指定分组字段，用一组聚合函数对数据集进行聚合。 |
| Dataset APIs                       | [count](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section3347172419617)                             | 计算该Dataset的总行数。              |
| Dataset APIs                       | [execute](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section24138258610)                           | 执行表达式。                    |
| Dataset APIs                       | [filter](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section9421182810620)                           | 过滤掉不满足条件的行。               |
| Dataset APIs                       | [flat_map](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section1250342917616)                         | 将给定的函数应用于每一行，并对结果进行展平。                                 |
| Dataset APIs                       | [map_batches](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section1787310062511)                     | 将给定的函数应用于批量数据。                                          |
| Dataset APIs                       | [groupby](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section1148113013611)                            | 创建一个分组的Dataset。                                         |
| Dataset APIs                       | [join](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section96742317619)                              | 在两个Dataset之间执行join操作。                                   |
| Dataset APIs                       | [map](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section18638163213615)                            | 对当前Dataset的每一行应用给定函数。                                   |
| Dataset APIs                       | [order_by](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section8633633162)                           | 根据一个或多个表达式对Dataset进行排序。                                  |
| Dataset APIs                       | [rename_columns](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section11583324518)                    | 重命名Dataset中的列。                                          |
| Dataset APIs                       | [schema](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section68061325811)                             | 返回Dataset的schema。                                     |
| Dataset APIs                       | [select_columns](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section18815826411)                      | 从Dataset的列中选取指定的列。                                      |
| Dataset APIs                       | [show](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section2063516281018)                              | 显示查询结果生成的数据。                                          |
| Dataset APIs                       | [take](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section243140115518)                               | 从Dataset中返回最多limit行数据，该方法适用于数据检查和预览。                      |
| Dataset APIs                       | [max](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section118531437162816)                           | 计算Dataset中指定列的最大值。                                     |
| Dataset APIs                       | [min](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section377851817304)                              | 计算Dataset中指定列的最小值。                                     |
| Dataset APIs                       | [mean](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section137591393117)                                | 计算Dataset中指定列的均值。                                       |
| Dataset APIs                       | [unique](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section2785128144515)                            | 计算Dataset中指定列的唯一值集合。                                   |
| Dataset APIs                       | [limit](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section10409204312157)                          | 从当前Dataset中选择行，起始位置为偏移量。                                |
| Dataset APIs                       | [take_batch](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__zh-cn_topic_0000002529961262_section17758618173519)                       | 从Dataset中返回最多batch_size行数据。                            |
| Dataset APIs                       | [create_async_job](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0132.html#aidatalake_061_0132__section568225083912)                                               | 根据作业id恢复作业实例。                                        |
| Table APIs                        | [insert](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841145_section2063516281018)                            | 用于将Dataset插入到数据库表中。                                  |
| Table APIs                        | [show](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841145_section64431349174011)                             | 用于显示表的前N行数据。                                         |
| Table APIs                        | [to_dataset](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841145_section783750154010)                        | 将当前表对象转换为Dataset对象。                                   |
| Table APIs                        | [add_columns](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841145_section874015074019)                         | 向表中添加一个或多个新列。                                         |
| Table APIs                        | [drop_columns](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841145_section1324019516405)                    | 用于从表中删除一个或多个列。                                       |
| Table APIs                        | [alter_column_type](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841145_section1374985184011)                  | 修改表中指定列的数据类型。                                       |
| Table APIs                        | [rename_column](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841145_section1462713222163)                     | 重命名表中的列名。                                             |
| Table APIs                        | [delete](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841145_section74604244169)                             | 从表中删除满足指定条件的数据。                                         |
| Table APIs                        | [update](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841145_section1230216513233)                              | 更新表中满足指定条件的行数据。                                        |
| Table APIs                        | [create_table](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841245_section1912125691813)                   | 在指定数据库中创建一个新表。                                         |
| Table APIs                        | [delete_table](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841245_section193671418194)                      | 从数据库中删除指定的Dataset。                                  |
| Table APIs                        | [describe_table](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841245_section49808862719)                     | 描述指定数据库中的表。                                           |
| Table APIs                        | [drop_table](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__section118831525134011)                                                 | 从指定数据库中删除表。                                          |
| Table APIs                        | [list_tables](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841245_section9971812152717)                     | 列出指定数据库或默认数据库中的所有表。                                 |
| Table APIs                        | [open_table](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0133.html#aidatalake_061_0133__zh-cn_topic_0000002560841245_section182914310412)                          | 打开指定数据库中的表。                                           |
| I/O APIs                          | [read_text](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0137.html#aidatalake_061_0137__section9663165220491)                                                     | 从OBS指定的路径中读取文本文件到Dataset。                             |
| I/O APIs                          | [read_json](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0137.html#aidatalake_061_0137__section931113115509)                                                       | 从OBS指定的路径中读取JSON文件到Dataset。                           |
| I/O APIs                          | [write_text](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0137.html#aidatalake_061_0137__section1680727174919)                                                    | 将文本数据写入到指定路径的OBS中。                                    |
| I/O APIs                          | [write_json](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0137.html#aidatalake_061_0137__section2735039184915)                                                  | 将JSON数据写入到指定路径的OBS中。                                 |
| I/O APIs                          | [write_iceberg](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0137.html#aidatalake_061_0137__zh-cn_topic_0000002529961262_section7513151155517)                    | 将数据写入指定的Iceberg表中。                                   |
| I/O APIs                          | [write_orc](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0137.html#aidatalake_061_0137__zh-cn_topic_0000002529961262_section14838209173)                            | 将数据写入指定的ORC表中。                                         |
| I/O APIs                          | [write_parquet](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0137.html#aidatalake_061_0137__zh-cn_topic_0000002529961262_section97604261717)                      | 将数据写入指定的Parquet表中。                                      |
| User-Defined Function APIs         | [signature](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html#aidatalake_061_0134__zh-cn_topic_0000002530001164_section15110197115617)                           | 从后端DB中返回UDF的函数签名和返回值类型。                                |
| User-Defined Function APIs         | [get](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html#aidatalake_061_0134__zh-cn_topic_0000002530001164_section126431011518)                                 | 从后端DB中返回UDF函数。                                            |
| User-Defined Function APIs         | [names](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html#aidatalake_061_0134__zh-cn_topic_0000002530001164_section253220714212)                              | 从后端DB中返回所有的UDF函数名称。                                    |
| User-Defined Function APIs         | [unregister](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html#aidatalake_061_0134__zh-cn_topic_0000002530001164_section1548115411315)                          | 从后端DB中删除指定的UDF函数。                                      |
| User-Defined Function APIs         | [create_agg_function](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html#aidatalake_061_0134__section11715102644312)                                          | 注册一个用户自定义聚合函数（UDAF）。                                  |
| User-Defined Function APIs         | [create_scalar_function](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html#aidatalake_061_0134__section147151626134314)                                     | 注册一个新的标量用户自定义函数（Scalar UDF）。                         |
| User-Defined Function APIs         | [create_table_function](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html#aidatalake_061_0134__section1471552624319)                                          | 注册一个新的用户自定义表值函数（UDTF）。                                 |
| User-Defined Function APIs         | [delete_function](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html#aidatalake_061_0134__section6715202613431)                                               | 从指定数据库中删除一个用户自定义函数。                                    |
| User-Defined Function APIs         | [describe_function](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html#aidatalake_061_0134__section13716182614434)                                           | 描述指定数据库中的函数。                                           |
| User-Defined Function APIs         | [get_function](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html#aidatalake_061_0134__section7716026124317)                                                  | 从指定或默认数据库中获取一个用户自定义函数。                                 |
| User-Defined Function APIs         | [list_functions](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0134.html#aidatalake_061_0134__section137161426204312)                                               | 列出指定数据库或默认数据库中的所有用户自定义函数。                              |
| AI APIs                          | [ai_generate](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0136.html#aidatalake_061_0136__section476714301857)                                                    | 使用大语言模型生成文本，并将生成结果作为新列添加到Dataset中。model_name需已注册。      |
| AI APIs                          | [create_model](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0136.html#aidatalake_061_0136__section20866114013279)                                                  | 创建一个抽象本地模型，用于绑定到远程LLM服务。                              |
| AI APIs                          | [list_models](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0136.html#aidatalake_061_0136__section1677153111280)                                                  | 查看指定数据库或默认数据库中的所有模型。                                 |
| AI APIs                          | [drop_model](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0136.html#aidatalake_061_0136__section14488419183015)                                                 | 删除与模型名称对应的抽象本地模型。                                     |
| AI APIs                          | [describe_model](https://support.huaweicloud.com/sdkreference-aidatalake/aidatalake_061_0136.html#aidatalake_061_0136__section15731182014300)                                              | 查看指定的模型的详细信息。                                          |
   
