EmmyMiao87 commented on a change in pull request #974: Fix some bugs
URL: https://github.com/apache/incubator-doris/pull/974#discussion_r276972555
##########
File path:
docs/documentation/cn/administrator-guide/load-data/routine-load-manual.md
##########
@@ -53,28 +63,29 @@
### 创建例行导入任务
-创建例行导入任务的的详细语法可以参照 [这里]()。或者连接到 Doris 后,执行 `HELP ROUTINE LOAD;`
查看语法帮助。这里主要详细介绍,创建作业时的注意事项。
+创建例行导入任务的的详细语法可以参照 [这里]()。或者连接到 Doris 后,执行 `HELP CREATE ROUTINE LOAD;`
查看语法帮助。这里主要详细介绍,创建作业时的注意事项。
* columns_mapping
- columns_mapping 主要用于指定表结构和 message 中的列映射关系,以及一些列的转换。如果不指定,Doris 会默认
message
中的列和表结构的列按顺序一一对应。虽然在正常情况下,如果源数据正好一一对应,则不指定也可以进行正常的数据导入。但是我们依然强烈建议用户**显示的指定列映射关系**。这样当表结构发生变化(比如增加一个
nullable 的列),或者源文件发生变化(比如增加了一列)时,导入任务依然可以继续进行。否则,当发生上述变动后,因为列映射关系不再一一对应,导入将报错。
+ `columns_mapping` 主要用于指定表结构和 message 中的列映射关系,以及一些列的转换。如果不指定,Doris 会默认
message
中的列和表结构的列按顺序一一对应。虽然在正常情况下,如果源数据正好一一对应,则不指定也可以进行正常的数据导入。但是我们依然强烈建议用户**显式的指定列映射关系**。这样当表结构发生变化(比如增加一个
nullable 的列),或者源文件发生变化(比如增加了一列)时,导入任务依然可以继续进行。否则,当发生上述变动后,因为列映射关系不再一一对应,导入将报错。
- 在 columns_mapping 中我们同样可以使用一些内置函数进行列的转换。但需要注意函数对应的实际列类型。举例说明:
+ 在 `columns_mapping` 中我们同样可以使用一些内置函数进行列的转换。但需要注意函数参数对应的实际列类型。举例说明:
- 假设用户需要导入只包含 `k1` 一列的表,列类型为 int。并且需要将源文件中的 null 值转换为 0。该功能可以通过 `ifnull`
函数实现。正确是的使用方式如下:
+ 假设用户需要导入只包含 `k1` 一列的表,列类型为 `int`。并且需要将源文件中的 null 值转换为 0。该功能可以通过 `ifnull`
函数实现。正确是的使用方式如下:
`COLUMNS (xx, k1=ifnull(xx, "3"))`
- 注意这里我们使用 `"3"` 而不是 `3`。因为对于导入任务来说,源数据中的列类型都为 `varchar`,所以这里 `xx` 虚拟列的类型也为
`varchar`。所以我们需要使用 `"3"` 来进行对应的匹配,否则 `ifnull` 函数无法找到参数为 `(varchar, int)`
的函数签名,将出现错误。
+ 注意这里我们使用 `"3"` 而不是 `3`,虽然 `k1` 的类型为 `int`。因为对于导入任务来说,源数据中的列类型都为
`varchar`,所以这里 `xx` 虚拟列的类型也为 `varchar`。所以我们需要使用 `"3"` 来进行对应的匹配,否则 `ifnull`
函数无法找到参数为 `(varchar, int)` 的函数签名,将出现错误。
* desired\_concurrent\_number
- desired_concurrent_number 用于指定一个例行作业期望的并发度。即一个作业,最多有多少 task 同时在执行。对于 Kafka
导入而言,当前的实际并发度计算如下:
+ `desired_concurrent_number` 用于指定一个例行作业期望的并发度。即一个作业,最多有多少 task 同时在执行。对于
Kafka 导入而言,当前的实际并发度计算如下:
+
+ `Min(partition num / 3, desired_concurrent_number, alive_backend_num,
Config.max_routine_load_task_concurrrent_num)`
- `Min(partition num / 3, desired_concurrent_number, alive_backend_num,
DEFAULT_TASK_MAX_CONCURRENT_NUM)`
- 其中DEFAULT_TASK_MAX_CONCURRENT_NUM是系统的一个默认的最大并发数限制。
+ 其中 `Config.max_routine_load_task_concurrrent_num` 是系统的一个默认的最大并发数限制。这是一个 FE
参数,可以动态调整。默认为 5。
Review comment:
```suggestion
其中 `Config.max_routine_load_task_concurrrent_num` 是系统的一个默认的最大并发数限制。这是一个
FE 配置,可以通过改配置调整。默认为 5。
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]