morningman commented on a change in pull request #811: Add help doc of routine load URL: https://github.com/apache/incubator-doris/pull/811#discussion_r268623623
########## File path: docs/help/Contents/Data Manipulation/routine_load.md ########## @@ -0,0 +1,339 @@ +# ROUTINE LOAD +## description + + 例行导入(Routine Load)功能,支持用户提交一个常驻的导入任务,通过不断的从指定的数据源读取数据,将数据导入到 Doris 中。 + 目前仅支持通过无认证的方式,从 Kakfa 导入文本格式(CSV)的数据。 + +语法: + + CREATE ROUTINE LOAD [db.]job_name ON tbl_name + [load_properties] + [job_properties] + FROM data_source + [data_source_properties] + + 1. [db.]job_name + + 导入作业的名称,在同一个 database 内,相同名称只能有一个 job 在运行。 + + 2. tbl_name + + 指定需要导入的表的名称。 + + 3. load_properties + + 用于描述导入数据。语法: + + [column_separator], + [columns_mapping], + [where_predicates], + [partitions] + + 1. column_separator: + + 指定列分隔符,如: + + COLUMN TERMINATED BY "," + + 默认为:\t + + 2. columns_mapping: + + 指定源数据中列的映射关系,以及定义衍生列的生成方式。 + + 1. 列的映射关系: + + 按顺序指定,源数据中各个列,对应目的表中的哪些列。对于希望跳过的列,可以指定一个不存在的列名。 + 假设目的表有三列 k1, k2, v1。源数据有4列,其中第1、2、4列分别对应 k2, k1, v1。则书写如下: + + COLUMNS (k2, k1, xxx, v1) + + 其中 xxx 为不存在的一列,用于跳过源数据中的第三列 + + 2. 衍生列: + + 以 col_name = expr 的形式表示的列,我们成为衍生列。即支持通过 expr 计算得出目的表中对应列的值。 + 衍生列通常排列在列映射关系之后,虽然这不是强制指定的,但是程序总是先解析列映射关系,再解析衍生列。 + 接上一个示例,假设目的表还有第4列 v2,v2 有 k1 和 k2 的和产生。则可以书写如下: + + COLUMNS (k2, k1, xxx, v1, v2 = k1 + k2); + + 3. where_predicates + + 用于指定过滤条件,以过滤掉不需要的列。过滤列可以是映射列或衍生列。 + 例如我们只希望导入 k1 大于 100 并且 k2 等于 1000 的列,则书写如下: + + WHERE k1 > 100 and k2 = 1000 + + 4. partitions + + 指定导入目的表的哪些 partition 中。如果不指定,则会自动导入到对应的 partition 中。 + 示例: + + PARTITION(p1, p2, p3) + + 4. job_properties + + 用于指定例行导入作业的通用参数。 + 语法: + + PROPERTIES ( + "key1" = "val1", + "key2" = "val2" + ) + + 目前我们支持以下这些参数: + + 1. desired_concurrent_number + + 期望的并发度。一个例行导入作业会被分成多个子任务执行。这个参数指定一个作业最多有多少任务可以同时执行。必须大于0。默认为3。 + 这个并发度并不是实际的并发度,实际的并发度,会通过集群的节点数、负载情况,以及数据源的情况动态调整。 + 例: + + "desired_concurrent_number" = "3" + + 2. max_batch_interval/max_batch_rows/max_batch_size Review comment: We are not supporting it when parsing help doc ---------------------------------------------------------------- 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]
