diff --git a/tidb-lightning/tidb-lightning-configuration.md b/tidb-lightning/tidb-lightning-configuration.md index 146d3847d021..1dda65ad302f 100644 --- a/tidb-lightning/tidb-lightning-configuration.md +++ b/tidb-lightning/tidb-lightning-configuration.md @@ -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。 + + + +##### `backslash-escape` + +- 是否对字段内 `\` 进行转义。 + + + +##### `trim-last-separator` + +- 如果有行以分隔符结尾,是否删除尾部分隔符。 + + #### mydumper.files