按这篇
下载预编译的安装包 · GitBook
文章装上1.5.0-SNAPSHOT版本,你就在Console中体验MLSQL的插件了。
allwefantasy/mlsql-pluins
当然,目前插件还不多,所以呢,我简单介绍下已经有的这些插件。
在Console中建立一个以.nb结尾的文件,比如我示例中叫`plugin.nb`, 点击该文件后,大概是这么个样子:
然后在网页里,大概有七个插件:
大家也可以到商店上看:
binlog2delta
第一个是binlog2delta, 是一个脚本插件,安装后会自动转化为一个向导。我们先安装看看。
复制黏贴绿色部分,就可以安装了。
现在,点击Script Plugins
就可以看到向导了:
通过该向导,你可以完成自动生成MLSQL脚本代码的任务。
last_command
接着我们安装last_command
作用是获取上一个命令的输出,然后将其转化为表,最后通过SQL语句操作,看例子
run-script
run-script 插件的作用是为在MLSQL里动态执行MLSQL字符串,先安装
看例子:
我们把code1字符串文本当做脚本来执行,并且将结果命名为output.该模块赋予了MLSQL强大的流程控制能力。
table-repartition
table-repartition 可以对标进行重新分区,目前支持按hash或者range来进行分区。
echo-controller是一个示例App插件,可以修改MLSQL处理MLSQL脚本的逻辑。比如正常我们发送脚本给MLSQL engine,他会执行然后返回json结果,但是通过App插件我们可以修改这个逻辑,echo-controller会将sql原模原样返回回来。
不过你需要额外指定 executeMode为echo(也就是我们插件规定的值)。
stream-boostrap-at-startup
stream-boostrap-at-startup也是App插件,可以将持久化的流在系统重启时,依然能够自动启动起来。同时还配套了一个ET插件,允许你指定指定将哪个流持久化:
代码语言:javascript复制!streambootstrapatstartup persist streamExample;
MLSQL目前有四种类型插件:
- ET 命令行或者模块插件,比如!hdfs,分区功能等。
- Script 复用MLSQL脚本
- App 可以改变整个MLSQL引擎服务,或者在其上做开发和定制
- DataSource 数据输入输出,比如适配HBase啥的
除了Script插件,其他插件第一次使用时都不需要重启Engine,如果需要升级或者卸载后重装,则需要重启Engine. Script插件完全动态卸载和安装,无需重启。
Update(2019/12/09)
ds-hbase-2x
HBase 2.x版本数据源插件,可以通过如下方式安装:
代码语言:javascript复制!plugin ds add tech.mlsql.plugins.ds.MLSQLHBase2x ds-hbase-2x;
安装完成后,就可以直接使用了:
代码语言:javascript复制set rawText='''
{"id":9,"content":"Spark好的语言1","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`;
load hbase2x.`hbase1:mlsql_example` where field.type.label="DoubleType"
as mlsql_example ;
select * from mlsql_example as show_data;