Metal是一款数据流建模软件,通过Metal可以管理数据流处理算子、可视化建模、批处理任务执行。
如果你经常使用Spark SQL开发ETL Pipeline,积累了大量的DTD(Dataframe To Dataframe)的算子/操作,你可以按照Metal的插件规范改造你的算子/操作,使用Metal来管理这些插件。
如果你使用Metal,你可以很方便地复用这些插件。Metal提供了两种方式来构建数据流,数据流是由插件组合而成的。
- 第一种构建方式是Cli风格,你需要编写spec文件来配置数据流的结构以及数据处理算子的参数。
- 第二方式是可视化风格,Metal提供了用于数据流设计的Web UI即metal-ui。metal-ui是一个简易的数据流集成开发环境,相比于Cli风格,metal-ui降低了配置数据流的难度。metal-ui以Project的概念管理每个数据流。你可以在metal-ui中,创建Project、配置Project、绘制数据流、跟踪数据处理任务、管理算子插件等。
- 支持Spark SQL批处理引擎
- 处理算子复用和管理
- 支持
spark-submit
命令行提交 - 提供了REST-API服务
- 支持可视化构建数据流
- 支持算子扩展
- 提供了打包工具
- 提供了Web-UI
- 支持用户级、Project级资源隔离
感谢您对本项目贡献的兴趣! 了解如何对项目做贡献的最简单的方式是提交一次PR。在正式发起PR前,你需要了解如何构建源码以及提交前的主要事项。
构建Metal,需要使用JDK 11及以上版本。从仓库拉取最新代码,然后使用maven
执行构建:
git pull origin master
mvn clean package -pl metal-dist -am -Dmaven.test.skip=true
通过如下命令检查代码格式:
mvn spotless:check
您需要保证在发起PR前,已经修复了全部spotless
错误。
更多细节见Contributing.md.
Thanks to JetBrains for the free license.