FML是一个用Java实现的维度建模语言SDK,主要是参考了kimball建模理论和阿里Onedata,定义一套用于表达上述理论中的模型语法,来做模型设计,该语言是面向数据建模和数据开发同学,同时针对为了解决模型发布的效率,基于当前SDK封装了一套从模型表达转换其他不同引擎的DDL能力,目前引擎包括:Hive,Hologres,Mysql等。 使用Java实现目的主要是使用了java的语法解析工具来做语法的解析处理。 目前FML可以在Dataworks的智能建模工具上使用,方便建模同学能够快速的调整模型结构。 具体可以参考这里:https://help.aliyun.com/zh/dataworks/user-guide/use-fml-statements-to-configure-and-manage-data-tables?spm=a2c4g.11174283.0.0.16b4467fOJ1Kbg
说明文档:
https://github.com/alibaba/fast-modeling-language/blob/main/README_zh_CN.md
开发手册:
https://alibaba.github.io/fast-modeling-language/#/
版本:0.5.13
0.5.13
新功能(new features)
Core
• 无
Transformer
• 支持Oceanbase Mysql ZeroFill转换
• 支持Hologres的Cluster Key解析
• 修复列类型解析的bug
向下兼容(compatibility)
• 暂无
过期功能(deprecations)
无
安全漏洞修复(vulnerability)
无
maven依赖
项目根pom增加以下依赖:
<dependencyManagement>
<dependency>
<groupId>com.aliyun.fastmodel</groupId>
<artifactId>fastmodel-bom</artifactId>
<version>0.5.13</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencyManagement>
子module增加依赖
解析器的接入
<!--fastmodel解析器-->
<dependency>
<groupId>com.aliyun.fastmodel</groupId>
<artifactId>fastmodel-core</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.fastmodel</groupId>
<artifactId>fastmodel-parser</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.fastmodel</groupId>
<artifactId>fastmodel-transform-hive</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.fastmodel</groupId>
<artifactId>fastmodel-transform-hologres</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.fastmodel</groupId>
<artifactId>fastmodel-transform-adbmysql</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.fastmodel</groupId>
<artifactId>fastmodel-transform-starrocks</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.fastmodel</groupId>
<artifactId>fastmodel-transform-spark</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.fastmodel</groupId>
<artifactId>fastmodel-transform-oceanbase</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun.fastmodel</groupId>
<artifactId>fastmodel-transform-doris</artifactId>
</dependency>