Skip to content

Commit

Permalink
lightning: reformat task configuration > mydumper.csv
Browse files Browse the repository at this point in the history
  • Loading branch information
Oreoxmt committed Dec 25, 2024
1 parent c83e48b commit d565ef5
Showing 1 changed file with 55 additions and 31 deletions.
86 changes: 55 additions & 31 deletions tidb-lightning/tidb-lightning-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -403,37 +403,61 @@ strict-format = false
# 只导入与该通配符规则相匹配的表。详情见相应章节。
filter = ['*.*', '!mysql.*', '!sys.*', '!INFORMATION_SCHEMA.*', '!PERFORMANCE_SCHEMA.*', '!METRICS_SCHEMA.*', '!INSPECTION_SCHEMA.*']

# 配置 CSV 文件的解析方式。
[mydumper.csv]
# 字段分隔符,支持一个或多个字符,默认值为 ','。
separator = ','
# 引用定界符,设置为空表示字符串未加引号。
delimiter = '"'
# 行尾定界字符,支持一个或多个字符。设置为空(默认值)表示 "\n"(换行)和 "\r\n" (回车+换行),均表示行尾。
terminator = ""
# CSV 文件是否包含表头。
# 如果 header = true,将把首行的内容作为表头处理,不作为数据导入。如果设置为 false,首行也作为 CSV 数据导入,
# 此时请确保 CSV 文件的列顺序与目标表的列顺序一致,否则可能会导致数据差异。
header = true
# CSV 表头是否匹配目标表的表结构。
# 默认为 true,表示在导入数据时,会根据 CSV 表头的字段名去匹配目标表对应的列名,
# 这样即使 CSV 文件和目标表列的顺序不一致也能按照对应的列名进行导入。
# 如果 CSV 表头中的字段名和目标表的列名不匹配(例如,CSV 表头中的某些字段名在目标表中可能找不到对应的同名列)但列的顺序是一致的,
# 请将该配置设置为 false。
# 这时,在导入的时候,会直接忽略 CSV 表头的内容,以避免导入错误。在这种情况下,直接把 CSV 数据按照目标表列的顺序导入。
# 因此,如果列的顺序不一致,请手动调整一致后再导入,否则可能会导致数据差异。
# 注意:只有在 header = true 时,该参数才会生效。如果 header = false ,表示 CSV 文件没有表头,此时不需要考虑相关列名匹配的问题。
header-schema-match = true
# CSV 文件是否包含 NULL。
# 如果 not-null = true,CSV 所有列都不能解析为 NULL。
not-null = false
# 如果 not-null = false(即 CSV 可以包含 NULL),
# 为以下值的字段将会被解析为 NULL。
null = '\N'
# 是否对字段内“\“进行转义
backslash-escape = true
# 如果有行以分隔符结尾,删除尾部分隔符。
trim-last-separator = false
#### mydumper.csv

配置 CSV 文件的解析方式。

##### `separator`

- 字段分隔符,支持一个或多个字符。
- 默认值:`','`

##### `delimiter`

- 引用定界符,设置为空表示字符串未加引号。
- 默认值:`'"'`

##### `terminator`

- 行尾定界字符,支持一个或多个字符。
- 默认值:`""`,表示 `"\n"`(换行)和 `"\r\n"`(回车+换行),均表示行尾

##### `header`

- CSV 文件是否包含表头。
- 如果设置为 `true`,将把首行的内容作为表头处理,不作为数据导入。
- 如果设置为 `false`,首行也作为 CSV 数据导入,此时请确保 CSV 文件的列顺序与目标表的列顺序一致,否则可能会导致数据差异。

##### `header-schema-match`

- CSV 表头是否匹配目标表的表结构。
- 默认为 `true`,表示在导入数据时,会根据 CSV 表头的字段名去匹配目标表对应的列名,这样即使 CSV 文件和目标表列的顺序不一致也能按照对应的列名进行导入。
- 如果 CSV 表头中的字段名和目标表的列名不匹配(例如,CSV 表头中的某些字段名在目标表中可能找不到对应的同名列)但列的顺序是一致的,请将该配置设置为 `false`。这时,在导入的时候,会直接忽略 CSV 表头的内容,以避免导入错误。在这种情况下,直接把 CSV 数据按照目标表列的顺序导入。因此,如果列的顺序不一致,请手动调整一致后再导入,否则可能会导致数据差异。
- 注意:只有在 `header = true` 时,该参数才会生效。如果 `header = false`,表示 CSV 文件没有表头,此时不需要考虑相关列名匹配的问题。
- 默认值:`true`

##### `not-null`

- CSV 文件是否包含 NULL。
- 如果设置为 `true`,CSV 所有列都不能解析为 NULL。如果设置为 `false`,CSV 可以包含 NULL。

##### `null`

- 如果 `not-null` 设置为 `false`,即 CSV 可以包含 NULL,为 `null` 指定的值的字段将会被解析为 NULL。

<!-- 示例值:`'\N'` -->

##### `backslash-escape`

- 是否对字段内 `\` 进行转义。

<!-- 示例值:`true` -->

##### `trim-last-separator`

- 如果有行以分隔符结尾,是否删除尾部分隔符。

<!-- 示例值:`false` -->

#### mydumper.files

Expand Down

0 comments on commit d565ef5

Please sign in to comment.