Skip to content

Commit

Permalink
Merge branch 'master' of github.com:allwefantasy/streamingpro
Browse files Browse the repository at this point in the history
  • Loading branch information
allwefantasy committed Oct 13, 2020
2 parents 999932f + b0969f7 commit c45af42
Show file tree
Hide file tree
Showing 26 changed files with 38 additions and 39 deletions.
2 changes: 1 addition & 1 deletion docs/gitbook/v1/api/run-script.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
| `context.__default__fileserver_upload_url__` | 上传文件服务器地址,一般默认也是console地址| |
| `context.__auth_client__` | 数据访问客户端的class类| 默认是streaming.dsl.auth.meta.client.MLSQLConsoleClient |
| `context.__auth_server_url__` | 数据访问验证服务器地址| |
| `context.__auth_secret__` | engine回访请求服务器的秘钥。比如console调用了engine,需要传递这个参数, 然后engine要回调console,那么需要将这个参数带回| |
| `context.__auth_secret__` | engine回访请求服务器的密钥。比如console调用了engine,需要传递这个参数, 然后engine要回调console,那么需要将这个参数带回| |



Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/v1/howtouse/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

MLSQL Engine 的发行包可以在 [MLSQL官方下载站点](http://download.mlsql.tech/)知道。目前最新版本为[2.0.0](http://download.mlsql.tech/2.0.0/).

在对应版本的下载目录里,你应该会看到两个发型包:
在对应版本的下载目录里,你应该会看到两个发行包:

1. mlsql-engine_2.4-2.0.0.tar.gz
2. mlsql-engine_3.0-2.0.0.tar.gz
Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/v1/howtouse/k8s_deploy.md
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ spark.driver.host 需要配置成 $POD_IP,具体方式如下:

### Spark 3.0版本如何兼容hive 1.2

Spark3.0默认不兼容 hive 1.2 需要自己从Spark源码重新打包。譬如下面的编译参数就指定了hive-1.2的支持,然后再使用这个发型包构建镜像
Spark3.0默认不兼容 hive 1.2 需要自己从Spark源码重新打包。譬如下面的编译参数就指定了hive-1.2的支持,然后再使用这个发行包构建镜像

```
git checkout -b v3.0.0 v3.0.0
Expand Down
6 changes: 3 additions & 3 deletions docs/gitbook/zh/action/mlsql-excel.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ MLSQL Console 是一款集数据研发,数据分析,机器学习等于一体
1. 将excel文档上传,上传完成后下载到自己的工作区得到操作路径
2. 加载excel文件,然后给他们取表名
3. 使用SQL对这些excel进行数据操作
4. 使用SQL生成图标
4. 使用SQL生成图表

下面我们看下具体步骤:

Expand Down Expand Up @@ -110,7 +110,7 @@ as finalTable;

![image.png](https://docs.mlsql.tech/upload_images/1063603-8940cbefc9f48cb9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

点击 Tools/Dashboard 查看图标
点击 Tools/Dashboard 查看图表

![image.png](https://docs.mlsql.tech/upload_images/1063603-778c4038efc64fe9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

Expand All @@ -120,7 +120,7 @@ as finalTable;

## 任务二

因为我们已经做完了文件上传和加载excel文件等,所以任务二里,我们只要做数据预处理和生成图标即可
因为我们已经做完了文件上传和加载excel文件等,所以任务二里,我们只要做数据预处理和生成图表即可

### Step1: 数据预处理
那么现在,第一个任务已经做好了,我们接着做第二任务,第二个任务核心就是要关联两张表,
Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/algs/als.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ and `userRec` = "10"
and coldStartStrategy="drop";
```

在这里,我们配置了两组参数,并且使用rmse来评估效果,最后的结果是给每个用户10条内容。如果需要给每个内容推荐是个用户则设置itemRec参数即可
在这里,我们配置了两组参数,并且使用rmse来评估效果,最后的结果是给每个用户10条内容。如果需要给每个内容推荐10个用户则设置itemRec参数即可

最后的结果如下:

Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/cluster/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ MLSQL-Instance 就是一个MLSQL实例,但是不管什么原因,我们总是
## 部署MLSQL-Cluster

### 下载
首先下载[MLSQL-Cluster发型包](http://download.mlsql.tech/mlsql_cluster-1.2.0-SNAPSHOT/),解压后目录结构如下:
首先下载[MLSQL-Cluster发行包](http://download.mlsql.tech/mlsql_cluster-1.2.0-SNAPSHOT/),解压后目录结构如下:

```
-rw-r--r-- 1 allwefantasy wheel 957 Jan 24 10:01 application.yml
Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/dash/dynamic-dash.md
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ build_result接受一个list,里面是一个map.
select content as html,"" as dash from mlsql_temp_table2 as output;
```

核心是,一个标记指端dash,表示这个表可以被渲染成图标,一个内容字段,html,表示把内容直接当做html进行渲染。
核心是,一个标记指端dash,表示这个表可以被渲染成图表,一个内容字段,html,表示把内容直接当做html进行渲染。



Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/datahouse/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
我们在这个章节也会详细阐述MLSQL是如何解决他们的。

值得注意的是,MLSQL Engine需要能够访问Hive,最简单的办法是将hive相关的配置文件(如hive-site.xml)放到 SPARK_HOME/conf目录下。
另外,我们可以通过JDBC来访问Hive,但性能可能比较地下
另外,我们可以通过JDBC来访问Hive,但性能可能比较低下
2 changes: 1 addition & 1 deletion docs/gitbook/zh/datasource/es.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

ElasticSearch 是一个应用很广泛的数据系统。MLSQL也支持将其中的某个索引加载为表。

注意,ES的包并没有包含在MLSQL默认发型包里,所以你需要通过 --jars 带上相关的依赖才能使用。
注意,ES的包并没有包含在MLSQL默认发行包里,所以你需要通过 --jars 带上相关的依赖才能使用。

## 加载数据

Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/datasource/hbase.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

HBase 是一个应用很广泛的存储系统。MLSQL也支持将其中的某个索引加载为表。

注意,HBase的包并没有包含在MLSQL默认发型包里,所以你需要通过 --jars 带上相关的依赖才能使用。用户有三种种方式获得
注意,HBase的包并没有包含在MLSQL默认发行包里,所以你需要通过 --jars 带上相关的依赖才能使用。用户有三种种方式获得
HBase Jar包:

第一种,访问[spark-hbase](https://github.com/allwefantasy/spark-hbase),然后自己进行编译。
Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/datasource/solr.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Solr 是一个应用很广泛的存储。MLSQL也支持将其中的某个索引加载为表。

注意,Solr的包并没有包含在MLSQL默认发型包里,所以你需要通过 --jars 带上相关的依赖才能使用。
注意,Solr的包并没有包含在MLSQL默认发行包里,所以你需要通过 --jars 带上相关的依赖才能使用。

## 加载数据

Expand Down
5 changes: 2 additions & 3 deletions docs/gitbook/zh/grammar/set.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,7 @@ select "hello ${hello}" as title
as output;
```

这里,我们引入了一个下个章节才会介绍的select语法,不过因为select语法相当简单,本质就是就是传统的SQL [select语句 + as + 表名]。大家现在只要记住
这个规则就可以了。我们通过SQL语句将变量输出,得到结果如下:
这里,我们引入了一个下个章节才会介绍的select语法,不过因为select语法相当简单,本质就是就是传统的SQL [select语句 + as + 表名]。大家现在只要记住这个规则就可以了。我们通过SQL语句将变量输出,得到结果如下:


```
Expand All @@ -42,7 +41,7 @@ as `${hello}`;
select * from world as output;
```

我们看到,我们并没有显示的定义world表,但是我们在最后一句依然可以使用,这是因为系统正确的解析了前面的${hello}变量。
我们看到,我们并没有显式的定义world表,但是我们在最后一句依然可以使用,这是因为系统正确的解析了前面的${hello}变量。

因为表名是被语法解析格式限制的,所以我们需要用``将其括起来,避免语法解析错误。

Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/installation/docker.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
## 注意

因为我们将镜像发布在了Docker Hub,不同网络情况下不是很稳定。
如果docker镜像拉去缓慢,可以设置阿里云镜像。首先去阿里云开通镜像服务,然后进入
如果docker镜像拉取缓慢,可以设置阿里云镜像。首先去阿里云开通镜像服务,然后进入
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 页面,里面会教你做镜像加速。

具体操作如下:
Expand Down
6 changes: 3 additions & 3 deletions docs/gitbook/zh/installation/downloa_prebuild_package.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ MLSQL Stack 提供了对各个版本的预编译版本。 用户可以在[下载
![](http://docs.mlsql.tech/upload_images/[email protected])

从图中实例,我们发现有有四个文件,分别是cluster,console,和engine。 其中engine根据底层的Spark版本,又区分为2.3/2.4两个版本。
所以,大家在下载engine的时候,需要根据自己要运行的Spark版本选择合适的版本。通常,我们建议大家下载基于最新的spark版本的发型包
所以,大家在下载engine的时候,需要根据自己要运行的Spark版本选择合适的版本。通常,我们建议大家下载基于最新的spark版本的发行包
因为MLSQL新功能特性都会优先体现在最近的Spark版本之上。

## 启动和配置 MLSQL Engine
Expand Down Expand Up @@ -71,7 +71,7 @@ chmod u+x start-default.sh
3. 修改application.docker.yml,将"MYSQL_HOST" 占位符替换成MySQL地址,同时如果有必要,修改对应的数据库,用户名称,密码等。
4. 现在可以调用`./start-default.sh` 启动了

启动后,默认监听的是8080端口。你也可以修改,具体配置卫浴修改application.docker.yml. MLSQL Cluster 并没有Web页面,它主要是衔接
启动后,默认监听的是8080端口。你也可以修改,具体配置位于修改application.docker.yml. MLSQL Cluster 并没有Web页面,它主要是衔接
MLSQL Console 和Engine的。

> MySQL 5.7经过测试,如发生java.math.BigInteger can not cast to java.lang.Long等错误,可尝试降级MySQL的版本。
Expand All @@ -89,7 +89,7 @@ MLSQL Console也需要依赖MySQL,所以,同cluster一样,你需要经过相
3. 修改application.docker.yml,将"MYSQL_HOST" 占位符替换成MySQL地址,同时如果有必要,修改对应的数据库,用户名称,密码等。
4. 现在可以调用`./start-default.sh` 启动了

启动后,默认监听的是9002端口。你也可以修改,具体配置卫浴修改application.docker.yml. MLSQL Console提供了一个较为完善的界面。
启动后,默认监听的是9002端口。你也可以修改,具体配置修改位于application.docker.yml. MLSQL Console提供了一个较为完善的界面。
用户可自助注册和登录。

打开start-default.sh,其展示的内容类似下面:
Expand Down
4 changes: 2 additions & 2 deletions docs/gitbook/zh/python_alg/sklearn.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ and fitParam.0.className="SVC";
> PythonAlg 也支持直接把所有东西写在MLSQL脚本中。这里展示了另外一种途径,也就是运行
> HDFS上项目的方式。
大家可以看到,有两个描述问价你,有三个入口。通常机器学习里,我们需要三个入口:
大家可以看到,有两个描述文件,有三个入口。通常机器学习里,我们需要三个入口:

1. 训练脚本入口
2. 批量预测脚本入口
Expand Down Expand Up @@ -359,7 +359,7 @@ predict
训练后模型,最大的用处就是部署成API服务,通过http暴露出去,这样谁到可以访问。MLSQL提供了将模型转化为函数的机制,这样,该函数可以注册到我们的API服务里。
在前面的训练和批量预测中,我们都是直接在需要时启动Python进程。

但是在API中则不是这样的。当请求到来是,我们会将函数分发到各个已经在运行的python worker中执行。这样可以避免启动的开销,从而达到毫秒级别的延时。
但是在API中则不是这样的。当请求到来时,我们会将函数分发到各个已经在运行的python worker中执行。这样可以避免启动的开销,从而达到毫秒级别的延时。

我们来看看,如何将一个模型注册成一个函数:

Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/qa/cheatsheet.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# MLSQL Cheatsheet
快速脏手指南
快速上手指南

## 数据读写

Expand Down
8 changes: 4 additions & 4 deletions docs/gitbook/zh/qa/long-run-issues.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
## 如何让 MLSQL Engine 7*24小时稳定运行

MLSQL可以让你的生活变得轻松很多,但是任何一个系统稳定的运行,也是需要花一些时间和精力的。在这个章节里,我们会罗列一些需要注意的事项,
帮助我们去面对实际上线MLSQL之后可能存在的一些不稳定因数
帮助我们去面对实际上线MLSQL之后可能存在的一些不稳定因素

### Driver僵死

Driver 僵死可能有两个情况:

1. MLSQL Driver存在缓慢的内存泄露,导致程序Full GC 而没有响应
2. 使用了类似excel之类的比较占用内存的格式亦或者是 MLSQL Driver内存太小,都可能导致GC问题
1. MLSQL Driver存在缓慢的内存泄露,导致程序Full GC 而没有响应
2. 使用了类似excel之类的比较占用内存的格式亦或者是 MLSQL Driver内存太小,都可能导致GC问题

如果是缓慢的内存泄露,可以查询具体的原因有的放矢解决,也可以定时重启让释放内存得到释放。如果用户采用定期重启机制,需要考虑的是,
如何让用户无感知重启过程。具体做法可以是:
Expand All @@ -33,7 +33,7 @@ Driver 僵死可能有两个情况:

### 初始化

connect语句等不少信息,生命周期是和MLSQL Instance一样的。如果发生了重启,这些信息就会丢失,用户需要从新注册。我们既可以安装[connect persist](https://github.com/allwefantasy/mlsql-plugins/tree/master/connect-persist)插件
connect语句等不少信息,生命周期是和MLSQL Instance一样的。如果发生了重启,这些信息就会丢失,用户需要重新注册。我们既可以安装[connect persist](https://github.com/allwefantasy/mlsql-plugins/tree/master/connect-persist)插件
来保证connect语句得到持久化,也可以自己写一段json脚本,然后在MLSQL启动时配置上,参考[如何执行初始化脚本](http://docs.mlsql.tech/zh/include/init.html)

### 充分利用调度
Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/scheduler/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ MLSQL的分布式运行环境 MLSQL Engine提供了http接口供用户传递脚
当你使用shell或者Java Proxy的时候,任务提交给Engine的时候,应该是异步还是同步呢?我们建议同步,
并且设置一定的超时时间。这样,调度程序可以检查到必要的错误。

下一节,我们会讲解如何使用诶之调度器来完成一些日常的调度工作
下一节,我们会讲解如何使用外置调度器来完成一些日常的调度工作
8 changes: 4 additions & 4 deletions docs/gitbook/zh/scheduler/buildin_scheduler.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@

> 该功能需要1.5.0版本及以上
MLSQL 内置了一个调度系统,我们通常强力推荐用户设置一个单独的MLSQL Engine作为调度系统。启用的方式也很简答,你只需要
MLSQL 内置了一个调度系统,我们通常强力推荐用户设置一个单独的MLSQL Engine作为调度系统。启用的方式也很简单,你只需要
启动的时候设置如下几个参数:

1. -streaming.datalake.path
2. -streaming.workAs.schedulerService true
3. -streaming.workAs.schedulerService.consoleUrl console 地址
4. -streaming.workAs.schedulerService.consoleToken console 秘钥
4. -streaming.workAs.schedulerService.consoleToken console 密钥

console的秘钥需要在启动console的时候进行设置。也就是在配置文件application.yml文件里设置。 在对应的application.yml文件
按如下方式添加秘钥
console的密钥需要在启动console的时候进行设置。也就是在配置文件application.yml文件里设置。 在对应的application.yml文件
按如下方式添加密钥

```
auth_secret: "mlsql"
Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/scheduler/third_party_scheduler.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
能力,并且其功能都是以HTTP的方式暴露出来的,所以我们只要访问console就可完成所有调度能力。


首先,我们需要能够让调度访问Console,因为Console要经过授权才能访问,为了简化,我们允许用户配置一个超级秘钥,在
首先,我们需要能够让调度访问Console,因为Console要经过授权才能访问,为了简化,我们允许用户配置一个超级密钥,在
console的application.yml文件里添加如下一行:

```
Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/security/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ mlsql脚本 MLSQL-Console -------> MLSQL-Engine

1. MLSQL Engine接脚本,检查是否开启授权验证
2. 如果开启,则解析该脚本所有表,然后获取表相关信息如数据源类型,表名,操作类型(create/save等)
3. 检查用户配置的clien实现,调用其代码
3. 检查用户配置的client实现,调用其代码
4. 用户client需要连接自己的授权中心,查看执行脚本的用户是否对这些表有相应的权限啊
5. 返回权限验证结果。
6. 失败,则MLSQL Engine会拒绝执行该脚本。
Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/security/user_password.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
对于文件系统中,可以这样使用:

```sql
load json.`user/password信息路劲` as auth_info_table;
load json.`user/password信息路径` as auth_info_table;
set user="select user from auth_info_table" where type="sql";
set password="select password from auth_info_table" where type="sql";

Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/stream/data_convert.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ valueFormat告诉系统,Kafka value的存储格式是什么,在示例中是c
st(field(column1,string),field(column2,string),field(column3,string))
```

st 表示StructType, field表示StructField。 分别表示表和字段,里面则是表明和数据类型。schema支持如下的数据结构:
st 表示StructType, field表示StructField。 分别表示表和字段,里面则是表名和数据类型。schema支持如下的数据结构:

1. st
1. field
Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/stream/datasource.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Kafka和MockStream

MLSQL 目前显示支持Kafka 以及MockStream. MockStream主要用于模拟数据源,测试场景中应用的比较多。
MLSQL 目前显式支持Kafka 以及MockStream. MockStream主要用于模拟数据源,测试场景中应用的比较多。


> 值得注意的是,MLSQL支持 Kafka 0.8,0.9以及1.x版本,而原生的struectured streaming只支持0.10版本的Kafka.
Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/stream/kakfa_tool.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
!kafkaTool schemaInfer 10 records from "127.0.0.1:9092" wow;
```

句法格式和前面一致,唯一是换了个命令,把sampleData换成schemaInfer.目前只支持json格式。
句法格式和前面一致,唯一区别是换了个命令,把sampleData换成schemaInfer.目前只支持json格式。

## 查看流式程序的checkpoint目录的最新offset

Expand Down
2 changes: 1 addition & 1 deletion docs/gitbook/zh/stream/stream_mysql_update.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ as patientKafkaData;
```

因为kafka里的数据是json格式的,我希望直接展开成json表,所以配置了valueFormat和valueSchema,更多细节
参看前面的章节
参考前面的章节

接着我要链接一个数据库:

Expand Down

0 comments on commit c45af42

Please sign in to comment.