谷歌的开源建模工具Malloy简介


Malloy是由 Looker 的原作者创建的一种新建模语言,它于去年在开源许可下发布,并于上周提供给 Windows 用户,作为数据建模爱好者,我认为值得拥有看它。

目前,Malloy 在 Visual Studio Core 的免费扩展下可用,Malloy 没有任何“计算引擎”,它所做的只是在定义源表、度量、关系和维度的文本中构建模型,然后你编写查询,Malloy 将解析这些查询并生成 SQL 代码,这或多或少是每个 BI 工具在幕后工作的方式。
有趣的是,Malloy 扩展默认安装了 DuckDB,这意味着,我们有一个完整的语义层和一个快速的 OLAP 引擎作为开源产品,这是非常重要的!

由于某些历史原因,所有建模语言都是专有的,并且仅基于供应商实现,据我所知,这是第一个完全开源的实现,我相信 Google 对 Malloy 有长远的愿景,并且会出现在更多的服务中, 如果 BigQuery 以某种方式将 Malloy 集成为一个免费的语义层,我不会感到惊讶,毕竟它在消费模型中运行良好,

我花了一些时间建立一个简单的模型,只有一个事实表和两个维度,你可以在这里看到代码

当您运行查询时,它将以表格格式显示结果,您可以看到生成的 SQL,您甚至可以定义一些基本的 Visual,如条形图等。

不支持 BI 引擎
Malloy 对 BigQuery 有很好的支持(原因很明显)并且也支持 PostgreSQL,但是生成的 SQL 并不简单,BigQuery 默认引擎渲染 SQL 的速度非常快,这没问题,但是 BI 引擎很困难,基本上任何不平凡的计算都是不支持。(交叉连接和相关变量等)