morrySnow commented on code in PR #1897: URL: https://github.com/apache/doris-website/pull/1897#discussion_r1926311554
########## i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/Data-Manipulation-Statements/Load/BROKER-LOAD.md: ########## @@ -24,340 +24,246 @@ specific language governing permissions and limitations under the License. --> -## BROKER-LOAD +## 描述 -### Name +Broker Load 是 Doris 的数据导入方式,主要用于从远程存储系统(如 HDFS 或 S3)导入大规模数据。它通过 MySQL API 发起,是异步导入方式。导入进度和结果可以通过 SHOW LOAD 查询。 -BROKER LOAD +在早期版本中,S3 和 HDFS Load 依赖于 Broker 进程,但随着版本优化,现在直接从数据源读取,不再依赖额外的 Broker 进程。尽管如此,由于语法相似,S3 Load、HDFS Load 和 Broker Load 都被统称为 Broker Load。 -## 描述 -该命令主要用于通过 Broker 服务进程读取远端存储(如 S3、HDFS)上的数据导入到 Doris 表里。 +## 语法 ```sql LOAD LABEL load_label ( -data_desc1[, data_desc2, ...] +data_desc1 [, data_desc2, ...] ) WITH BROKER broker_name [broker_properties] [load_properties] [COMMENT "comments"]; ``` Review Comment: ```suggestion <data_desc> [ , ... ] ) WITH BROKER <broker_name> [ <broker_properties> ] [ <load_properties> ] [COMMENT "<comments>"]; ``` ``` ########## i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/Data-Manipulation-Statements/Load/BROKER-LOAD.md: ########## @@ -24,340 +24,246 @@ specific language governing permissions and limitations under the License. --> -## BROKER-LOAD +## 描述 -### Name +Broker Load 是 Doris 的数据导入方式,主要用于从远程存储系统(如 HDFS 或 S3)导入大规模数据。它通过 MySQL API 发起,是异步导入方式。导入进度和结果可以通过 SHOW LOAD 查询。 -BROKER LOAD +在早期版本中,S3 和 HDFS Load 依赖于 Broker 进程,但随着版本优化,现在直接从数据源读取,不再依赖额外的 Broker 进程。尽管如此,由于语法相似,S3 Load、HDFS Load 和 Broker Load 都被统称为 Broker Load。 -## 描述 -该命令主要用于通过 Broker 服务进程读取远端存储(如 S3、HDFS)上的数据导入到 Doris 表里。 +## 语法 ```sql LOAD LABEL load_label ( -data_desc1[, data_desc2, ...] +data_desc1 [, data_desc2, ...] ) WITH BROKER broker_name [broker_properties] [load_properties] [COMMENT "comments"]; ``` -- `load_label` - - 每个导入需要指定一个唯一的 Label。后续可以通过这个 label 来查看作业进度。 - - `[database.]label_name` - -- `data_desc1` - - 用于描述一组需要导入的文件。 - - ```sql - [MERGE|APPEND|DELETE] - DATA INFILE - ( - "file_path1"[, file_path2, ...] - ) - [NEGATIVE] - INTO TABLE `table_name` - [PARTITION (p1, p2, ...)] - [COLUMNS TERMINATED BY "column_separator"] - [LINES TERMINATED BY "line_delimiter"] - [FORMAT AS "file_type"] - [COMPRESS_TYPE AS "compress_type"] - [(column_list)] - [COLUMNS FROM PATH AS (c1, c2, ...)] - [SET (column_mapping)] - [PRECEDING FILTER predicate] - [WHERE predicate] - [DELETE ON expr] - [ORDER BY source_sequence] - [PROPERTIES ("key1"="value1", ...)] - ``` - - - `[MERGE|APPEND|DELETE]` - - 数据合并类型。默认为 APPEND,表示本次导入是普通的追加写操作。MERGE 和 DELETE 类型仅适用于 Unique Key 模型表。其中 MERGE 类型需要配合 `[DELETE ON]` 语句使用,以标注 Delete Flag 列。而 DELETE 类型则表示本次导入的所有数据皆为删除数据。 - - - `DATA INFILE` - - 指定需要导入的文件路径。可以是多个。可以使用通配符。路径最终必须匹配到文件,如果只匹配到目录则导入会失败。 - - - `NEGATIVE` - - 该关键词用于表示本次导入为一批”负“导入。这种方式仅针对具有整型 SUM 聚合类型的聚合数据表。该方式会将导入数据中,SUM 聚合列对应的整型数值取反。主要用于冲抵之前导入错误的数据。 - - - `PARTITION(p1, p2, ...)` - - 可以指定仅导入表的某些分区。不在分区范围内的数据将被忽略。 - - - `COLUMNS TERMINATED BY` - - 指定列分隔符。仅在 CSV 格式下有效。仅能指定单字节分隔符。 - - - `LINES TERMINATED BY` - - 指定行分隔符。仅在 CSV 格式下有效。仅能指定单字节分隔符。 - - - `FORMAT AS` - - 指定文件类型,支持 CSV、PARQUET 和 ORC 格式。默认为 CSV。 - - - `COMPRESS_TYPE AS` - 指定文件压缩类型,支持 GZ/BZ2/LZ4FRAME。 - - - `column list` - - 用于指定原始文件中的列顺序。关于这部分详细介绍,可以参阅 [列的映射,转换与过滤](../../../../data-operate/import/import-scenes/load-data-convert.md) 文档。 - - `(k1, k2, tmpk1)` - - - `COLUMNS FROM PATH AS` - - 指定从导入文件路径中抽取的列。 - - - `SET (column_mapping)` - - 指定列的转换函数。 - - - `PRECEDING FILTER predicate` - - 前置过滤条件。数据首先根据 `column list` 和 `COLUMNS FROM PATH AS` 按顺序拼接成原始数据行。然后按照前置过滤条件进行过滤。关于这部分详细介绍,可以参阅 [列的映射,转换与过滤](../../../../data-operate/import/import-scenes/load-data-convert.md) 文档。 - - - `WHERE predicate` - - 根据条件对导入的数据进行过滤。关于这部分详细介绍,可以参阅 [列的映射,转换与过滤](../../../../data-operate/import/import-scenes/load-data-convert.md) 文档。 - - - `DELETE ON expr` - - 需配合 MEREGE 导入模式一起使用,仅针对 Unique Key 模型的表。用于指定导入数据中表示 Delete Flag 的列和计算关系。 - - - `ORDER BY` - - 仅针对 Unique Key 模型的表。用于指定导入数据中表示 Sequence Col 的列。主要用于导入时保证数据顺序。 - - - `PROPERTIES ("key1"="value1", ...)` - - 指定导入的 format 的一些参数。如导入的文件是`json`格式,则可以在这里指定`json_root`、`jsonpaths`、`fuzzy_parse`等参数。 - - - enclose - - 包围符。当 csv 数据字段中含有行分隔符或列分隔符时,为防止意外截断,可指定单字节字符作为包围符起到保护作用。例如列分隔符为",",包围符为"'",数据为"a,'b,c'",则"b,c"会被解析为一个字段。 - 注意:当 enclose 设置为`"`时,trim_double_quotes 一定要设置为 true。 - - - escape - - 转义符。用于转义在字段中出现的与包围符相同的字符。例如数据为"a,'b,'c'",包围符为"'",希望"b,'c 被作为一个字段解析,则需要指定单字节转义符,例如"\",然后将数据修改为"a,'b,\'c'"。 - -- `WITH BROKER broker_name` - - 指定需要使用的 Broker 服务名称。在公有云 Doris 中。Broker 服务名称为 `bos` - -- `broker_properties` - - 指定 broker 所需的信息。这些信息通常被用于 Broker 能够访问远端存储系统。如 BOS 或 HDFS。关于具体信息,可参阅 [Broker](../../../../advanced/broker.md) 文档。 - - ```text - ( - "key1" = "val1", - "key2" = "val2", - ... - ) - ``` - - - `load_properties` - - 指定导入的相关参数。目前支持以下参数: - - - `timeout` +## 必选参数 - 导入超时时间。默认为 4 小时。单位秒。 +**1. `<load_label>`** +> 每个导入任务需要指定一个唯一的 Label,后续可以通过该 Label 查询作业进度。 - - `max_filter_ratio` +**2. `<data_desc1>`** +> 用于描述需要导入的文件,可以是多个描述项。每个描述项对应一组数据文件,定义如何导入数据。 - 最大容忍可过滤(数据不规范等原因)的数据比例。默认零容忍。取值范围为 0 到 1。 +**3. `< broker_name >`** +> 指定需要使用的 Broker 服务名称。在公有云 Doris 中。Broker 服务名称为 `bos` - - `exec_mem_limit` +**4. `< broker_properties >`** +> 指定 broker 所需的信息。这些信息通常被用于 Broker 能够访问远端存储系统。如 BOS 或 HDFS。 +> +>```text +> ( +> "key1" = "val1", +> "key2" = "val2", +> ... +> ) +>``` - 导入内存限制。默认为 2GB。单位为字节。 +## 可选参数 - - `strict_mode` - - 是否对数据进行严格限制。默认为 false。 - - - `partial_columns` - - 布尔类型,为 true 表示使用部分列更新,默认值为 false,该参数只允许在表模型为 Unique 且采用 Merge on Write 时设置。 - - - `timezone` - - 指定某些受时区影响的函数的时区,如 `strftime/alignment_timestamp/from_unixtime` 等等,具体请查阅 [时区](../../../../advanced/time-zone.md) 文档。如果不指定,则使用 "Asia/Shanghai" 时区 - - - `load_parallelism` - - 导入并发度,默认为 1。调大导入并发度会启动多个执行计划同时执行导入任务,加快导入速度。 - - - `send_batch_parallelism` - - 用于设置发送批处理数据的并行度,如果并行度的值超过 BE 配置中的 `max_send_batch_parallelism_per_job`,那么作为协调点的 BE 将使用 `max_send_batch_parallelism_per_job` 的值。 - - - `load_to_single_tablet` - - 布尔类型,为 true 表示支持一个任务只导入数据到对应分区的一个 tablet,默认值为 false,作业的任务数取决于整体并发度。该参数只允许在对带有 random 分桶的 olap 表导数的时候设置。 - - - priority - - 设置导入任务的优先级,可选 `HIGH/NORMAL/LOW` 三种优先级,默认为 `NORMAL`,对于处在 `PENDING` 状态的导入任务,更高优先级的任务将优先被执行进入 `LOADING` 状态。 - -- comment +```sql +[MERGE|APPEND|DELETE] Review Comment: 这部分的语法,需要在语法章节中先体现,才能需要在参数章节 ########## i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/Data-Manipulation-Statements/Load/BROKER-LOAD.md: ########## @@ -24,340 +24,246 @@ specific language governing permissions and limitations under the License. --> -## BROKER-LOAD +## 描述 -### Name +Broker Load 是 Doris 的数据导入方式,主要用于从远程存储系统(如 HDFS 或 S3)导入大规模数据。它通过 MySQL API 发起,是异步导入方式。导入进度和结果可以通过 SHOW LOAD 查询。 -BROKER LOAD +在早期版本中,S3 和 HDFS Load 依赖于 Broker 进程,但随着版本优化,现在直接从数据源读取,不再依赖额外的 Broker 进程。尽管如此,由于语法相似,S3 Load、HDFS Load 和 Broker Load 都被统称为 Broker Load。 -## 描述 -该命令主要用于通过 Broker 服务进程读取远端存储(如 S3、HDFS)上的数据导入到 Doris 表里。 +## 语法 ```sql LOAD LABEL load_label ( -data_desc1[, data_desc2, ...] +data_desc1 [, data_desc2, ...] ) WITH BROKER broker_name [broker_properties] Review Comment: 语法中的 <data_desc>`, `<broker_properties>` 等需要更详细的语法。让用户看语法的时候就能明白这些部分到底怎么写 ########## i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/Data-Manipulation-Statements/Load/CANCEL-LOAD.md: ########## @@ -24,23 +24,53 @@ specific language governing permissions and limitations under the License. --> -## CANCEL-LOAD - -### Name - -CANCEL LOAD - ## 描述 该语句用于撤销指定 label 的导入作业。或者通过模糊匹配批量撤销导入作业 +## 语法 + ```sql CANCEL LOAD [FROM db_name] WHERE [LABEL = "load_label" | LABEL like "label_pattern" | STATE = "PENDING/ETL/LOADING"] Review Comment: 类似 create load 的问题 ########## i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/Data-Manipulation-Statements/Load/CANCEL-LOAD.md: ########## @@ -24,23 +24,53 @@ specific language governing permissions and limitations under the License. --> -## CANCEL-LOAD - -### Name - -CANCEL LOAD - ## 描述 该语句用于撤销指定 label 的导入作业。或者通过模糊匹配批量撤销导入作业 +## 语法 + ```sql CANCEL LOAD [FROM db_name] WHERE [LABEL = "load_label" | LABEL like "label_pattern" | STATE = "PENDING/ETL/LOADING"] ``` -注:1.2.0 版本之后支持根据 State 取消作业。 +## 必选参数 + +**1. `<db_name>`** + +> `db_name`: 撤销导入作业名称 + +## 可选参数 + +**1. `<LABEL = >`** + +> 如果使用 `LABEL =`,则精确匹配指定的 label。 + +**2. `<LABEL like >`** Review Comment: 类似上面 ########## i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/Data-Manipulation-Statements/Load/BROKER-LOAD.md: ########## @@ -24,340 +24,246 @@ specific language governing permissions and limitations under the License. --> -## BROKER-LOAD +## 描述 -### Name +Broker Load 是 Doris 的数据导入方式,主要用于从远程存储系统(如 HDFS 或 S3)导入大规模数据。它通过 MySQL API 发起,是异步导入方式。导入进度和结果可以通过 SHOW LOAD 查询。 -BROKER LOAD +在早期版本中,S3 和 HDFS Load 依赖于 Broker 进程,但随着版本优化,现在直接从数据源读取,不再依赖额外的 Broker 进程。尽管如此,由于语法相似,S3 Load、HDFS Load 和 Broker Load 都被统称为 Broker Load。 -## 描述 -该命令主要用于通过 Broker 服务进程读取远端存储(如 S3、HDFS)上的数据导入到 Doris 表里。 +## 语法 ```sql LOAD LABEL load_label ( -data_desc1[, data_desc2, ...] +data_desc1 [, data_desc2, ...] ) WITH BROKER broker_name [broker_properties] [load_properties] [COMMENT "comments"]; ``` -- `load_label` - - 每个导入需要指定一个唯一的 Label。后续可以通过这个 label 来查看作业进度。 - - `[database.]label_name` - -- `data_desc1` - - 用于描述一组需要导入的文件。 - - ```sql - [MERGE|APPEND|DELETE] - DATA INFILE - ( - "file_path1"[, file_path2, ...] - ) - [NEGATIVE] - INTO TABLE `table_name` - [PARTITION (p1, p2, ...)] - [COLUMNS TERMINATED BY "column_separator"] - [LINES TERMINATED BY "line_delimiter"] - [FORMAT AS "file_type"] - [COMPRESS_TYPE AS "compress_type"] - [(column_list)] - [COLUMNS FROM PATH AS (c1, c2, ...)] - [SET (column_mapping)] - [PRECEDING FILTER predicate] - [WHERE predicate] - [DELETE ON expr] - [ORDER BY source_sequence] - [PROPERTIES ("key1"="value1", ...)] - ``` - - - `[MERGE|APPEND|DELETE]` - - 数据合并类型。默认为 APPEND,表示本次导入是普通的追加写操作。MERGE 和 DELETE 类型仅适用于 Unique Key 模型表。其中 MERGE 类型需要配合 `[DELETE ON]` 语句使用,以标注 Delete Flag 列。而 DELETE 类型则表示本次导入的所有数据皆为删除数据。 - - - `DATA INFILE` - - 指定需要导入的文件路径。可以是多个。可以使用通配符。路径最终必须匹配到文件,如果只匹配到目录则导入会失败。 - - - `NEGATIVE` - - 该关键词用于表示本次导入为一批”负“导入。这种方式仅针对具有整型 SUM 聚合类型的聚合数据表。该方式会将导入数据中,SUM 聚合列对应的整型数值取反。主要用于冲抵之前导入错误的数据。 - - - `PARTITION(p1, p2, ...)` - - 可以指定仅导入表的某些分区。不在分区范围内的数据将被忽略。 - - - `COLUMNS TERMINATED BY` - - 指定列分隔符。仅在 CSV 格式下有效。仅能指定单字节分隔符。 - - - `LINES TERMINATED BY` - - 指定行分隔符。仅在 CSV 格式下有效。仅能指定单字节分隔符。 - - - `FORMAT AS` - - 指定文件类型,支持 CSV、PARQUET 和 ORC 格式。默认为 CSV。 - - - `COMPRESS_TYPE AS` - 指定文件压缩类型,支持 GZ/BZ2/LZ4FRAME。 - - - `column list` - - 用于指定原始文件中的列顺序。关于这部分详细介绍,可以参阅 [列的映射,转换与过滤](../../../../data-operate/import/import-scenes/load-data-convert.md) 文档。 - - `(k1, k2, tmpk1)` - - - `COLUMNS FROM PATH AS` - - 指定从导入文件路径中抽取的列。 - - - `SET (column_mapping)` - - 指定列的转换函数。 - - - `PRECEDING FILTER predicate` - - 前置过滤条件。数据首先根据 `column list` 和 `COLUMNS FROM PATH AS` 按顺序拼接成原始数据行。然后按照前置过滤条件进行过滤。关于这部分详细介绍,可以参阅 [列的映射,转换与过滤](../../../../data-operate/import/import-scenes/load-data-convert.md) 文档。 - - - `WHERE predicate` - - 根据条件对导入的数据进行过滤。关于这部分详细介绍,可以参阅 [列的映射,转换与过滤](../../../../data-operate/import/import-scenes/load-data-convert.md) 文档。 - - - `DELETE ON expr` - - 需配合 MEREGE 导入模式一起使用,仅针对 Unique Key 模型的表。用于指定导入数据中表示 Delete Flag 的列和计算关系。 - - - `ORDER BY` - - 仅针对 Unique Key 模型的表。用于指定导入数据中表示 Sequence Col 的列。主要用于导入时保证数据顺序。 - - - `PROPERTIES ("key1"="value1", ...)` - - 指定导入的 format 的一些参数。如导入的文件是`json`格式,则可以在这里指定`json_root`、`jsonpaths`、`fuzzy_parse`等参数。 - - - enclose - - 包围符。当 csv 数据字段中含有行分隔符或列分隔符时,为防止意外截断,可指定单字节字符作为包围符起到保护作用。例如列分隔符为",",包围符为"'",数据为"a,'b,c'",则"b,c"会被解析为一个字段。 - 注意:当 enclose 设置为`"`时,trim_double_quotes 一定要设置为 true。 - - - escape - - 转义符。用于转义在字段中出现的与包围符相同的字符。例如数据为"a,'b,'c'",包围符为"'",希望"b,'c 被作为一个字段解析,则需要指定单字节转义符,例如"\",然后将数据修改为"a,'b,\'c'"。 - -- `WITH BROKER broker_name` - - 指定需要使用的 Broker 服务名称。在公有云 Doris 中。Broker 服务名称为 `bos` - -- `broker_properties` - - 指定 broker 所需的信息。这些信息通常被用于 Broker 能够访问远端存储系统。如 BOS 或 HDFS。关于具体信息,可参阅 [Broker](../../../../advanced/broker.md) 文档。 - - ```text - ( - "key1" = "val1", - "key2" = "val2", - ... - ) - ``` - - - `load_properties` - - 指定导入的相关参数。目前支持以下参数: - - - `timeout` +## 必选参数 - 导入超时时间。默认为 4 小时。单位秒。 +**1. `<load_label>`** +> 每个导入任务需要指定一个唯一的 Label,后续可以通过该 Label 查询作业进度。 - - `max_filter_ratio` +**2. `<data_desc1>`** Review Comment: ```suggestion **2. `<data_desc>`** ``` ########## i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/Data-Manipulation-Statements/Load/BROKER-LOAD.md: ########## @@ -24,340 +24,246 @@ specific language governing permissions and limitations under the License. --> -## BROKER-LOAD +## 描述 -### Name +Broker Load 是 Doris 的数据导入方式,主要用于从远程存储系统(如 HDFS 或 S3)导入大规模数据。它通过 MySQL API 发起,是异步导入方式。导入进度和结果可以通过 SHOW LOAD 查询。 -BROKER LOAD +在早期版本中,S3 和 HDFS Load 依赖于 Broker 进程,但随着版本优化,现在直接从数据源读取,不再依赖额外的 Broker 进程。尽管如此,由于语法相似,S3 Load、HDFS Load 和 Broker Load 都被统称为 Broker Load。 -## 描述 -该命令主要用于通过 Broker 服务进程读取远端存储(如 S3、HDFS)上的数据导入到 Doris 表里。 +## 语法 ```sql LOAD LABEL load_label ( Review Comment: 1. 参数需要尖括号包裹 ```suggestion LOAD LABEL <load_label> ( ``` ########## i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/Data-Manipulation-Statements/Load/CANCEL-LOAD.md: ########## @@ -24,23 +24,53 @@ specific language governing permissions and limitations under the License. --> -## CANCEL-LOAD - -### Name - -CANCEL LOAD - ## 描述 该语句用于撤销指定 label 的导入作业。或者通过模糊匹配批量撤销导入作业 +## 语法 + ```sql CANCEL LOAD [FROM db_name] WHERE [LABEL = "load_label" | LABEL like "label_pattern" | STATE = "PENDING/ETL/LOADING"] ``` -注:1.2.0 版本之后支持根据 State 取消作业。 +## 必选参数 + +**1. `<db_name>`** + +> `db_name`: 撤销导入作业名称 + +## 可选参数 + +**1. `<LABEL = >`** Review Comment: 这里应该写 <load_label> -- 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. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org