前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MLSQL Stack 1.5.0 版本发布

MLSQL Stack 1.5.0 版本发布

作者头像
用户2936994
发布2022-07-21 13:49:51
2220
发布2022-07-21 13:49:51
举报
文章被收录于专栏:祝威廉祝威廉

1.5.0好像是MLSQL历时最长的一个版本。从九月初份到一月初,四个多月时间。这四个月搞出了很多大事情。这个版本,经过很多的用户实际的使用反馈(包括一些金融公司也有在使用),已经很稳定了,可以进入生产环境中使用。

基于Ray的Python支持

MLSQL的周边项目

PyJava

也开始日趋完善,让MLSQL对Python的支持上了一个新的台阶。1.5.0版本的架构如下:

代码看起来也更简洁了:

插件商店上线

商店地址为:

https://store.mlsql.tech/

插件体系的构建,使得MLSQL核心代码更加简洁,同时用户可以通过插件机制完全定制MLSQL Engine,获得更好的用户体验。大家可以看如下的介绍文章:

祝威廉:MLSQL插件商店插件介绍

有了插件商店,用户可以一行命令添加hbase数据源支持:

代码语言:javascript
复制
!plugin ds add tech.mlsql.plugins.ds.MLSQLHBase2x ds-hbase-2x;

接着就可以按如下方式使用HBase了:

代码语言:javascript
复制
set rawText='''
{"id":9,"content":"Spark好的语言3","label":0.0}
{"id":10,"content":"MLSQL是一个好的语言7","label":0.0}
{"id":12,"content":"MLSQL是一个好的语言7","label":0.0}
''';

load jsonStr.`rawText` as orginal_text_corpus;

select cast(id as String)  as rowkey,content,label from orginal_text_corpus 
as orginal_text_corpus1;

connect hbase2x where `zk`="127.0.0.1:2181"
and `family`="cf" as hbase1;

save overwrite orginal_text_corpus1 
as hbase2x.`hbase1:mlsql_example`;

数据湖和增量场景的加强

随着MLSQL另外两个生态项目的发展

allwefantasy/spark-binlogallwefantasy/delta-plus

我们革新了数据库到数据湖增量同步的理念,让用户用两端代码就能完成数据库的增量同步:

代码语言:javascript
复制
set streamName="binlog";

!hdfs -rm -r /tmp/cpl-binlog2;

load binlog.`` where 
host="127.0.0.1"
and port="3306"
and userName="xxxxx"
and password="xxxx"
and bingLogNamePrefix="mysql-bin"
and binlogIndex="4"
and binlogFileOffset="4"
and databaseNamePattern="mlsql_console"
and tableNamePattern="script_file"
as table1;

save append table1  
as rate.`mysql_{db}.{table}` 
options mode="Append"
and idCols="id"
and duration="5"
and syncType="binlog"
and checkpointLocation="/tmp/cpl-binlog2";

spark-binlog 目前除了MySQL的支持以外,还支持hbase 的WAL日志。更多信息可以参考这篇文章:

祝威廉:是时候改变你数仓的增量同步方案了

在1.5.0版本,数据湖是默认支持的,你可以使用detla来代表,比如:

代码语言:javascript
复制
load delta.`public.table1` as table1;

MLSQL也可以透明的使用hive,优先加载数据湖的表,如果不存在,则使用hive的表。保存时,也是优先使用数据湖。所以前面的例子也可以这么写(如果开启了数据湖优先功能):

代码语言:javascript
复制
load hive.`public.table1` as table1;

微众Linkis也支持MLSQL了

在1.5.0版本,我也给微众的 Linkis 添加了MLSQL的支持。https://github.com/WeBankFinTech/Linkis/pull/85 这样让用户除了MLSQL Console之外,有更好的控制台选择(以及Java Client)

提供了内置的一个任务调度框架

使用上也很MLSQL,因为配置完全采用MLSQL来完成。

代码语言:javascript
复制
-- 定时调度,脚本bigbox.main.mlsql 每三分钟运行一次
!scheduler "bigbox.main.mlsql" with "*/3 * * * * ";

-- 依赖调度, bigbox.main.mlsql一旦执行完成后,执行demo.dash2.mlsql
!scheduler "demo.dash2.mlsql" depends on "bigbox.main.mlsql"; 

项目也是开源的

https://github.com/allwefantasy/mlsqlscheduler

后续会加到插件项目里。

当然还有一大堆的bug修复和新的小功能特性,大家可以看ISSUE或者PR

最后

官网地址: https://www.mlsql.tech/

下载地址:https://download.mlsql.tech/1.5.0/

官方文档参看:https://docs.mlsql.tech/zh/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-01-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 基于Ray的Python支持
  • 插件商店上线
  • 数据湖和增量场景的加强
  • 微众Linkis也支持MLSQL了
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档