使用前必读
在使用Aura进行数据开发前,需先了解Aura的核心理念以及提供的两种交互方式。
- 什么是Aura
Aura是一款高性能、分布式的面向多模态数据处理的计算引擎。在AI时代,数据不再局限于传统的结构化表格,图像、音频、视频、文本等非结构化数据扮演着越来越重要的角色。Aura的核心设计目标就是简化多模态数据的处理流程,让开发者能够使用熟悉的SQL或Python DataFrame API完成复杂的数据分析任务,无论开发SQL还是DataFrame,最终都会转换为Aura优化后的执行计划。
- SQL开发:标准与高效
SQL(Structured Query Language)是数据处理领域的通用语言。在Aura中,SQL开发主要面向习惯于数据仓库操作的用户。
- 特点:声明式编程,即只需要告诉 Aura “你要什么”(What),而不需要关心“怎么实现”(How)。
- 适用场景:快速取数、复杂的多表关联分析、现成BI工具的对接。
- Aura优势:默认支持SQL:2016的大部分特性,学习成本极低,天然适合报表开发。
- DataFrame开发:灵活与编程语义
DataFrame是编程式接口,将数据看作一张带标签的二维表,但提供了更强的逻辑表达力。Aura DataFrame包括类似IBIS的通用结构化数据处理的DataFrame,也包括多模态数据处理的DataFrame。您可以直接在DataFrame中对图像列进行缩放、提取音频特征、或对文本进行嵌入计算。
- 特点:命令式与函数式结合进行编程开发。支持链式调用,可以利用Python的循环、条件判断和丰富的库(例如机器学习、可视化)进行深度集成。
- 适用场景:特征工程、自动化流水线、需要逻辑复用的复杂数据清洗。
- 如何选择使用SQL还是DataFrame
在Aura中,SQL与DataFrame并非对立,而是互补:
- 选择SQL的场景
- 需要处理复杂的查询逻辑,涉及多表连接、嵌套子查询。
- 希望编写可读性高、易于分享的分析脚本。
- 团队已有SQL技能储备。
- 需要将查询嵌入到其他应用程序或BI工具中。
- 选择DataFrame的场景
- 需要进行探索性数据分析,需要频繁查看中间结果。
- 习惯Python编程风格,需要更灵活的控制流。
- 需要在数据处理中使用自定义函数或复杂逻辑。
- 需要与机器学习库(例如PyTorch、TensorFlow)进行集成。
Aura允许您在SQL和DataFrame之间无缝切换。例如,可以用DataFrame加载和处理数据,然后用SQL进行最终查询;或者在SQL中调用自定义的Python函数。
- 选择SQL的场景
语法文本格式约定
为了方便对语法使用的理解,在文档中对语法文本按如下格式进行表述。
| 格式 | 意义 |
|---|---|
| 大写 | 语法关键字(语句中保持不变、必须照输的部分)采用大写表示。 |
| 小写 | 参数(语句中必须由实际值进行替代的部分)采用小写表示。 |
| [ ] | 表示用“[ ]”括起来的部分是可选的。 |
| ... | 表示前面的元素可重复出现。 |
| [ x | y | ... ] | 表示从两个或多个选项中选取一个或者不选。 |
| { x | y | ... } | 表示从两个或多个选项中选取一个。 |
| [x | y | ... ] [ ... ] | 表示可选多个参数或者不选,如果选择多个参数,则参数之间用空格分隔。 |
| [ x | y | ... ] [ ,... ] | 表示可选多个参数或者不选,如果选择多个参数,则参数之间用逗号分隔。 |
| { x | y | ... } [ ... ] | 表示可选多个参数,至少选一个,如果选择多个参数,则参数之间以空格分隔。 |
| { x | y | ... } [ ,... ] | 表示可选多个参数,至少选一个,如果选择多个参数,则参数之间用逗号分隔。 |