MLSQL不只是一门语言,也是一个分布式计算引擎。MLSQL可以实现批处理,流式处理,机器学习,爬虫,API服务等多领域功能。
MLSQL 目前由三部分构成:
1.MLSQL Engine
MLSQL-Engine 是一个分布式执行引擎,可以解释执行MLSQL 脚本。用户可以使用http协议和MLSQL-Engine进行交互。
MLSQL-Engine 内核为Spark,所以它可以运行在多个平台上,比如Yarn,Mesos,K8s,StandAlone. 启动上我们遵循了spark-submit的标准。
2.MLSQL Cluster
随着MLSQL Engine部署的实例愈发的增多,有给各条业务线部署的MLSQL Engine group,也有给算法组, 研发组等等部署的单独MLSQL Engine group. 我们希望所有这些MLSQL Engine能够被:
1.统一的管理
2.组内的负载均衡
3.不同组之间互相借用资源
4.同组内的MLSQL 实例数动态调整
3.MLSQL Console
MLSQL-Console 提供了一个Web控制界面,可对接MLSQL Engine 或者 MLSQL Cluster. Engine或者Cluster都是提供标准的API接口 进行交互,并且缺乏脚本管理功能,MLSQL-Console解决了这些问题。
一个MLSQL Engine 由一个Driver 和多个Executor组成,它本身也是分布式的。MLSQL Cluster 实现了负载均衡,以及Engine管理相关的功能。
MLSQL Console 则提供了一个图形化界面方便用户使用MLSQL语言。 MLSQL Console可以对接MLSQL Engine 也可以对接MLSQL Cluster。