Skip to content

Commit dc26c3f

Browse files
docs: changes some cluster execution modes names (#2184)
* docs: changes some cluster execution modes names * docs: fixed the description about the synchron of offline commands
1 parent d083b89 commit dc26c3f

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

docs/zh/tutorial/modes.md

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 集群版使用流程及执行模式
22

3-
OpenMLDB 针对线上线下的特征工程全流程,在不同阶段提供了不同的执行模式。尤其在生产环境下所使用的集群版,针对不同阶段做了较为复杂的执行模式的划分。本文集中说明在集群版 OpenMLDB 中,从特征开发到上线的全流程,及其相应的执行模式。
3+
OpenMLDB 针对线上线下的特征工程全流程,在不同阶段提供了不同的执行模式。尤其在生产环境下所使用的集群版,针对不同阶段详细地划分了不同的执行模式。本文集中说明在集群版 OpenMLDB 中,从特征开发到上线的全流程,及其相应的执行模式。
44

55

66
## 1. OpenMLDB 使用流程概览
@@ -22,23 +22,23 @@ OpenMLDB 针对线上线下的特征工程全流程,在不同阶段提供了
2222
由于离线和线上场景的操作数据对象不同,其底层的存储和计算节点亦不同。因此,OpenMLDB 设置了几种不同的执行模式来支持完成以上步骤。以下表格总结了各个步骤所使用的执行模式,稍后将会详细介绍关于执行模式的重要概念。
2323

2424

25-
| 步骤 | 执行模式 | 开发工具 | 说明 |
26-
| ----------------------- | -------- |---------------------------------------|---------------------------------------------------------------------------------------------------------------|
27-
| 1. 离线数据导入 | 离线模式 | CLI | - `LOAD DATA` command<br /> |
28-
| 2. 离线特征开发 | 离线模式 | CLI | - 支持 OpenMLDB 所有的 SQL 语法<br />- 部分 SQL (如 `SELECT`)非阻塞式异步运行方式 |
29-
| 3. 特征方案部署 | 离线模式 | CLI | - `DEPLOY` 命令 |
30-
| 4. 冷启动在线数据导入 | 在线模式 | CLI,导入工具 | - CLI 使用 `LOAD DATA` 命令<br />- 也可使用独立导入工具 `openmldb-import` |
31-
| 5. 实时数据接入 | 在线模式 | connector, REST APIs, Java/Python SDK | - 第三方数据源调用 OpenMLDB 的相关数据插入 API(connector),引入实时数据<br/>- 或使用Java/Python SDK工具,在对请求行的计算完成后,插入主表 |
32-
| 6. 在线数据预览(可选) | 在线模式 | CLI, Java/Python SDK | - 目前仅支持对列进行 `SELECT` 操作、表达式、以及单行处理函数用于数据预览<br />- 不支持 `LAST JOIN`, `GROUP BY`, `HAVING`, `WINDOW` 等复杂计算<br /> |
33-
| 7. 实时特征计算 | 请求模式 | REST APIs, Java/Python SDK | - 支持 OpenMLDB 所有的 SQL 语法<br />- REST APIs 以及 Java SDK 支持单行或者批请求<br />- Python SDK 仅支持单行请求 |
25+
| 步骤 | 执行模式 | 开发工具 | 说明 |
26+
| ----------------------- |--------|---------------------------------------|---------------------------------------------------------------------------------------------------------------|
27+
| 1. 离线数据导入 | 离线模式 | CLI | - `LOAD DATA` command<br /> |
28+
| 2. 离线特征开发 | 离线模式 | CLI | - 支持 OpenMLDB 所有的 SQL 语法<br />- 部分 SQL (如 `SELECT`)非阻塞式异步运行方式 |
29+
| 3. 特征方案部署 | 离线模式 | CLI | - `DEPLOY` 命令 |
30+
| 4. 冷启动在线数据导入 | 在线预览模式 | CLI,导入工具 | - CLI 使用 `LOAD DATA` 命令<br />- 也可使用独立导入工具 `openmldb-import` |
31+
| 5. 实时数据接入 | 在线预览模式 | connector, REST APIs, Java/Python SDK | - 第三方数据源调用 OpenMLDB 的相关数据插入 API(connector),引入实时数据<br/>- 或使用Java/Python SDK工具,在对请求行的计算完成后,插入主表 |
32+
| 6. 在线数据预览(可选) | 在线预览模式 | CLI, Java/Python SDK | - 目前仅支持对列进行 `SELECT` 操作、表达式、以及单行处理函数用于数据预览<br />- 不支持 `LAST JOIN`, `GROUP BY`, `HAVING`, `WINDOW` 等复杂计算<br /> |
33+
| 7. 实时特征计算 | 在线请求模式 | REST APIs, Java/Python SDK | - 支持 OpenMLDB 所有的 SQL 语法<br />- REST APIs 以及 Java SDK 支持单行或者批请求<br />- Python SDK 仅支持单行请求 |
3434

35-
从以上的总结表格上可以看到,执行模式分为 `离线模式``在线模式`,以及`请求模式`。在后面的章节中,我们将对这几种模式展开详细介绍。下图总结示意了全流程开发和对应的执行模式。
35+
从以上的总结表格上可以看到,执行模式分为 `离线模式``在线预览模式`,以及`在线请求模式`。后续我们将对这几种模式展开详细介绍。下图总结示意了全流程开发和对应的执行模式。
3636

3737
![image-20220310170024349](images/modes-flow.png)
3838

3939
### 1.3 单机版执行模式说明
4040

41-
虽然本文集中讲解集群版,但是有必要也简单介绍单机版的执行模式。单机版的执行模式相对简单,其离线数据和在线数据的存储和计算节点统一,因此单机版并不区分离线模式和在线模式。即我们可以直观的理解为,在 CLI 下,单机版并没有执行模式的概念,任何OpenMLDB支持的 SQL 语法均可以在 CLI 下直接运行。因此,单机版特别适合用于快速试用或进行 SQL 实践。但是,在实时特征计算阶段,单机版和集群版一样,依然运行于在线请求模式下。
41+
虽然本文集中讲解集群版,但是有必要也简单介绍单机版的执行模式。单机版的执行模式相对简单,其离线数据和在线数据的存储和计算节点统一,因此单机版并不区分离线模式和在线模式。即我们可以直观的理解为,在 CLI 下,单机版并没有执行模式的概念,绝大多数OpenMLDB支持的 SQL 语法均可以在 CLI 下直接运行(对于部分SQL命令的参数,单机版支持的选项与集群版略有不同,详见[OpenMLDB支持的SQL](https://openmldb.ai/docs/zh/main/reference/sql/index.html)。因此,单机版特别适合用于快速试用或进行 SQL 实践。但是,在实时特征计算阶段,单机版和集群版一样,依然运行于在线请求模式下。
4242

4343
:::{note}
4444
如果仅在非生产环境试用 OpenMLDB或进行SQL学习实践,强烈建议使用单机版,可以获得更快捷方便的部署体验
@@ -55,7 +55,7 @@ OpenMLDB 针对线上线下的特征工程全流程,在不同阶段提供了
5555
- 非阻塞式执行的 SQL 由内部的 TaskManager 进行管理,可以通过 `SHOW JOBS`, `SHOW JOB`, `STOP JOB` 命令进行查看和管理。
5656

5757
:::{tip}
58-
和很多关系型数据库系统不同,`SELECT` 命令在离线模式下为异步执行。因此在离线特征开发阶段,强烈建议使用 `SELECT INTO` 语句进行开发调试,可以将结果导出到文件,方便查看。
58+
和很多关系型数据库系统不同,`SELECT`命令在离线模式下默认为异步执行,如需设置为同步执行,见[设置离线模式下命令的同步执行](https://openmldb.ai/docs/zh/main/reference/sql/ddl/SET_STATEMENT.html#id4)因此在离线特征开发阶段,如果使用异步执行,强烈建议使用`SELECT INTO`语句进行开发调试,可以将结果导出到文件,方便查看。
5959
:::
6060

6161
用于特征方案部署的命令`DEPLOY`亦在离线模式下执行。其部署规范对于 SQL 还有一定的限制,详细可以参阅 [OpenMLDB SQL上线规范和要求](https://openmldb.ai/docs/zh/main/reference/sql/deployment_manage/ONLINE_SERVING_REQUIREMENTS.html)
@@ -65,36 +65,36 @@ OpenMLDB 针对线上线下的特征工程全流程,在不同阶段提供了
6565
- CLI: `SET @@execute_mode='offline'`;CLI 启动以后的默认模式也为离线模式。
6666
- REST APIs, Java/Python SDK:不支持离线模式
6767

68-
## 3. 在线模式
68+
## 3. 在线预览模式
6969

70-
冷启动在线数据导入、实时数据接入、以及在线数据预览在在线模式下执行。在线模式的作用是针对线上数据进行管理和预览。线上数据的存储和计算由 tablet server 支持
70+
冷启动在线数据导入、实时数据接入、以及在线数据预览在在线预览模式下执行。在线预览模式的作用是对线上数据进行管理和预览。线上数据的存储和计算由 tablet支持
7171

72-
在线模式有以下主要特点
72+
在线预览模式有以下主要特点
7373

7474
- 在线数据导入(`LOAD DATA`)和离线模式下一样,属于非阻塞式的异步执行 SQL,其余均为同步执行。
75-
- 在线模式目前仅支持简单的 `SELECT ` 列相关操作来查看相关数据,并不支持复杂的 SQL 查询。因此在线模式并不支持 SQL 特征的开发调试,相关开发工作应该在离线模式或者单机版进行。
75+
- 在线预览模式目前仅支持简单的 `SELECT ` 列相关操作来查看相关数据,并不支持复杂的 SQL 查询。因此在线预览模式并不支持 SQL 特征的开发调试,相关开发工作应该在离线模式或者单机版进行。
7676

77-
在线模式通过以下形式进行设置
77+
在线预览模式通过以下形式进行设置
7878

7979
- CLI: `SET @@execute_mode='online'`
8080
- REST APIs, Java/Python SDK:默认只支持在线模式下执行,无需进行设置。
8181

82-
## 4. 请求模式
82+
## 4. 在线请求模式
8383

84-
在特征脚本被部署以及接入线上数据以后,实时特征计算服务就已经准备就绪,可以通过请求模式来进行实时特征抽取。请求模式在 REST APIs 以及 SDK 下支持。请求模式是 OpenMLDB 特有的支撑线上实时计算的模式,和常见数据库的 SQL 查询非常不同。
84+
在部署特征脚本以及接入线上数据以后,实时特征计算服务就已经准备就绪,可以通过在线请求模式来进行实时特征抽取。REST APIs 以及 SDK 支持在线请求模式。在线请求模式是 OpenMLDB 特有的支撑线上实时计算的模式,和常见数据库的 SQL 查询非常不同。
8585

86-
请求模式需要三个输入
86+
在线请求模式需要三个输入
8787

8888
- SQL 特征脚本,即为特征部署上线过程中所使用的 SQL 脚本,规定了做特征抽取的计算逻辑。
8989
- 在线数据,即为冷启动导入或者实时接入的线上数据。一般为配合 SQL 的窗口计算的最新数据。比如 SQL 脚本的聚合函数会定义一个最近三个月的时间窗口,那么在线存储就需要保留相应的最新三个月数据。
9090
- 实时请求行(a request row),包含了当前正在发生的实时行为,用于实时特征抽取。比如反欺诈场景下的刷卡信息,或者是推荐场景下的搜索关键字等。
9191

9292

93-
基于上述输入,对于每一个实时请求行,请求模式都会返回一条特征抽取的结果。其计算逻辑为:请求行会依据 SQL 脚本的逻辑(如 `PARTITION BY`, `ORDER BY` 等)被虚拟的插入在线数据表格的正确位置中,然后只针对该行进行特征聚合计算,返回唯一对应的抽取结果。下图直观的解释了在线请求模式的运算过程
93+
基于上述输入,对于每一个实时请求行,在线请求模式都会返回一条特征抽取的结果。其计算逻辑为:请求行会依据 SQL 脚本的逻辑(如 `PARTITION BY`, `ORDER BY` 等)被虚拟地插入在线数据表格的正确位置中,然后只针对该行进行特征聚合计算,返回唯一对应的抽取结果。下图直观地解释了在线请求模式的运算过程
9494

9595
![modes-request](images/modes-request.png)
9696

97-
请求模式通过以下形式支持
97+
在线请求模式通过以下形式支持
9898

9999
- CLI:不支持
100100
- REST APIs:支持单行或者多行 request rows 的请求,详见:[REST APIs](https://openmldb.ai/docs/zh/main/quickstart/rest_api.html)

0 commit comments

Comments
 (0)