要在正在开发中的数据分析引擎上增加使用 yaml 进行数据分析的能力,以代替 sql , 基于以下原因: 1 、对于多维数据模型的分析,sql 只能在二维表关系结构上进行定义( star schema 不等同于逻辑多维结构),并且进行复杂分析时编写 sql 语句存在大量 group by 和 sum(),降低整体描述性; 2 、在进行 join 多个大数据量表(百亿级)进行查询时性能降低,可能需要根据特定查询进行详细调整,这无法支持业务层面的随机性探索式数据分析; 3 、yaml 语法较为简单,且属于纯描述性语法,可以直接描述业务层面语义,通过解析 yaml 直接调用数据分析引擎底层接口,越过 sql ,能提供功能上更强、效率更高的查询能力; 4 、“yaml 代替 sql”以及类似宣传可以作为后期产品宣传的噱头。
目前暂定使用 yaml 代替 sql ,不知道还有没有比 yaml 更合适(普及度高、纯描述性、语法简单)的语法结构?
![]() |
1
fstab 2 天前
R 语言
|
![]() |
2
levelworm 2 天前
yaml 应该不错,我工作过的几家公司都有这样的框架,最后就是转换成 sql 。如果你有大量的聚合语句,可以考虑建立数仓预先聚合,最后把 yaml 的权限开放给数据分析师,让他们写 yaml ,你来负责优化。
|
![]() |
3
FYFX 1 天前
我想说一下 yaml 并不简单,我已经看过不少写 yaml parser 写到骂娘的了
|
5
lcingOnTheCake 1 天前
parser 之后不都是对数据进行处理,sql 和 yaml 性能上能以后啥区别?况且 sql 比 yaml 表达能力强的多
|
![]() |
6
eudore 21 小时 13 分钟前
可以随便找一个 sql parser 的 ast node 作为定义,使用 yaml 描述 sql ast 。然后 yaml -> ast -> sql ,在 ast 还能自定义一些行为。
|