MLSQL 控制台预览版 推出啦

前言

MLSQL 由三部分构成:

  1. MLSQL Engine.
  2. MLSQL Cluster
  3. MLSQL 控制台(就是我们今天要介绍的)

一个MLSQL Engine启动后就是一个MLSQL实例,通常我们需要启动多个MLSQL实例,做Load Balance 或者为不同业务线准备。 MLSQL Cluster 则提供了对多MLSQL实例的管理,通过类似K8s标签功能,MLSQL可以根据标签将请求发送到不同MLSQL实例上,并且提供了多种负载均衡策略,同时具备弹性调整某个负载均衡集群的MLSQL实例数。

但是,MLSQL一直缺乏一个控制台,MLSQL实例带有一个非常简单的页面,类似下面的图:

MLSQL 控制台预览版 推出啦_第1张图片
image.png

但是可以做的工作太少了。现在,一个具备基本功能的控制台已经开发完毕。

使用说明

MLSQL控制台由 ReactJS + ServiceFramework 开发。
控制台界面如下:

MLSQL 控制台预览版 推出啦_第2张图片
image.png

主要有几个区组成:

  1. 项目脚本管理区
  2. 脚本编辑区
  3. 信息反馈区
  4. 结果展示区

控制台里的项目脚本管理区根目录统一,第二层级必须是项目,之后内部可以创建目录或者脚本。脚本之间可以通过include互相引用使用。

创建demo示例:

  1. 启动后,你需要注册一个账号
  2. 登录之后,进入上图的界面
  3. 创建目录bigbox
  4. 创建工具包 functions
  5. 创建f.mlsql脚本:
/*
  MLSQL脚本完成UDF注册示例
*/

-- 填写script脚本
set plusFun='''
def plusFun(a:Double,b:Double)={
   a + b
}
''';

--加载脚本
load script.`plusFun` as scriptTable;
--注册为UDF函数 名称为plusFun
register ScalaScriptUDF.`scriptTable` as plusFun options
and methodName="plusFun"
;
  1. 接着在bigbox下创建main.mlsql
include bigbox.`functions.f`;
set data='''
{"a":1}
{"a":1}
{"a":1}
{"a":1}
''';
load jsonStr.`data` as dataTable;
-- 使用plusFun
select plusFun(1,1) as res from dataTable as output;

记得保存哦。然后点击运行即可。

项目部署

目前是预览版,没有提供docker版本给大家用。大家可以自己源码编译下。
按如下方式部署:

  1. 克隆项目:
git clone https://github.com/allwefantasy/mlsql-api-console .

把项目里的conf/application.yml 拷贝出来,假设我们放在 /tmp/里。

  1. 创建数据库

找到图中的的db.sql文件:

MLSQL 控制台预览版 推出啦_第3张图片
image.png

导入进去就好。

修改/tmp/application.yml文件里的数据库连接相关。

  1. 打包项目
mvn package -Pshade
  1. 启动
java -cp .:target/mlsql-api-console-1.0-SNAPSHOT.jar tech.mlsql.MLSQLConsole \
-mlsql_cluster_url http://127.0.0.1:9003 \
-my_url http://127.0.0.1:9002 \
-config /tmp/application.yml

其中,-mlsql_cluster 为 MLSQL 实例/或者MLSQL Cluster 地址。 my_url该应用自己的地址,方便回调。

  1. 访问如下地址
http://127.0.0.1:9002

你可能感兴趣的:(MLSQL 控制台预览版 推出啦)