61

MLSQL初学者常见问题QA(持续更新)

 5 years ago
source link: http://www.jianshu.com/p/3adbf19bec65?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

常见问题集锦

数据源有详细参数配置文档么?比如kafka,我可以理解成kafka consumer的配置都可以写到option里面吗

MLSQL大部分数据源集成的是第三方实现。比如excel的支持得益于spark-excel项目。同样,Kafka的配置参数和Spark 对Kafka的需求配置是一样的,JDBC则也是标准的Spark文档中描述的那样。不过大部分人使用时,不会使用所有参数,

MLSQL也提供了两种方式展示可选参数:

  1. 使用MLSQL Console, Console支持参数自动补全
2YRNFna.png!web

image.png

MLSQL Console 实现了数据源和参数联动。不过目前只有部分数据源支持,我们会尽快覆盖所有数据源。

  1. 使用帮助语句。

查看所有数据源:

load _mlsql_.`datasources` as output;

查看具体某个数据源的可选参数:

load _mlsql_.`datasources/params/excel` as output;
BFFZr23.png!web

image.png

除了数据源,其他所有MLSQL特有模块,也都是支持前面两种方式的。比如,我想查看BigDL模块的示例:

zyaiqmi.png!web

image.png

接着就可以看到:

FnMn2q2.png!web

image.png

或者通过命令查看所有可选参数:

load modelParams.`BigDLClassifyExt` as output;

后台是怎么区分batch还是streaming的?比如我load kafka,同时又load hbase,mysql或者es,这种情况下底层对应的作业时streaming的还是batch的,逻辑都是在window范围内执行的吗

后台是根据 set streamName="streamExample"; 因为流式计算我们需要用户定义一个唯一的名字。MLSQL底层是使用spark structured streaming,所以structured streaming存在的限制,MLSQL都存在。structured streaming支持对静态数据的Join。如果您需要深入,请多了解structured streaming。

engine本身是个spark的app,里面提供的restful服务,那么这个服务可以是高可用的吗?

Engine自身无法保证高可用,但是你可以通过如下两种方式的一种保持其高可用:

  1. 第一是部署环境比如在yarn-cluster模式下,Engine支持将自己注册到ZK中,而Yarn又能保证driver挂掉后自动找一个其他节点启动,但在yarn-client模式则不行。

  2. 第二个是,通过MLSQL-Cluster来完成。MLSQL-Cluster 现在实现了多策略的负载均衡,以及多集群的管理。通过负载均衡,也可以保证Engine的高可用,比如后端部署三个Engine,任意down掉两个,都不影响。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK