FML(Fast Modeling Language) is a SQL-like language designed for Dimensional Modeling. It is an attempt for fast modeling follows the “Kimball
Dimensional Modeling Techniques Theory” and the “Alibaba’s OneData Theory.“ FML inherits many features from the SQL. For example, the FML studied and
consulted the standard DDL syntax when creating a model, and extensions upon it. While designing a model, you no longer have to care about the
specific rules for different kinds of big data engines. The FML Transformer will convert your models into a SQL syntax, which can be read directly by
a certain kind of engine.
Features
A SQL-like language specially designed dimensional modeling.
Supports syntax definition in the process of data warehouse establishment, such as: Data Warehouse Planning, Fields Standards, Code Tables, Data
Indicators.
Build with Java, you can build models easily with the Syntax Nodes Construct API.
Transforms models into varies syntax with the Transform API for common engines, such as: Hive, Hologres, Mysql.
Supports JDBC Driver mode, interact with the model engine.
Unix-like environment (we use Linux, Mac OS X, Cygwin, WSL)
Git
Maven (version 3.5.0+ recommended)
Java 8
Clone and build
git clone git@github.com:alibaba/fast-modeling-language.git
cd fast-modeling-language
mvn clean package -DskipTests # this will take up to 10 minutes
Develop FML
IntelliJ IDEA is recommended for the FML Java project. We provide IntelliJ IDEA to developers who would like to commit to the FML code base.
Developer’s IDE need to support at least:
FML文档可The introduction and guide of the FML can be found under the doc/ directory, the docs is managed with the Docsify, to learn more about it: docsify quickstart
Fast Modeling Language
FML(Fast Modeling Language) is a SQL-like language designed for Dimensional Modeling. It is an attempt for fast modeling follows the “Kimball Dimensional Modeling Techniques Theory” and the “Alibaba’s OneData Theory.“ FML inherits many features from the SQL. For example, the FML studied and consulted the standard DDL syntax when creating a model, and extensions upon it. While designing a model, you no longer have to care about the specific rules for different kinds of big data engines. The FML Transformer will convert your models into a SQL syntax, which can be read directly by a certain kind of engine.
Features
Relation Document(Continuously updating): https://alibaba.github.io/fast-modeling-language/
Parser Example
Transformer Example
Building FML from Source
Build environment and conditions for FML
Clone and build
Develop FML
IntelliJ IDEA is recommended for the FML Java project. We provide IntelliJ IDEA to developers who would like to commit to the FML code base. Developer’s IDE need to support at least:
IntelliJ IDEA IntelliJ IDEA Plugins
Documentation
FML文档可The introduction and guide of the FML can be found under the
doc/directory, the docs is managed with the Docsify, to learn more about it: docsify quickstartdocsify serve docsJDK8 Deploy