您可以将以下格式的文件导入到云数据库 TiDB 版:CSV、Parquet、Aurora Snapshot 和 SQL。为确保数据成功导入,您需要准备以下两类文件:
- 模式文件。准备数据库模式文件(可选)和表模式文件,两者都是 SQL 格式(.sql)。如果未提供表模式文件,您需要提前在目标数据库中手动创建相应的表。
- 数据文件。准备符合导入数据命名规范的数据文件。如果数据文件名称无法满足要求,建议使用文件模式执行导入任务。否则,导入任务将无法扫描到您想要导入的数据文件。
本节描述数据库和表模式文件的命名规范。对于以下所有类型的源文件(CSV、Parquet、Aurora Snapshot 和 SQL),模式文件的命名规范都是相同的。
- 数据库模式文件(可选):${db_name}-schema-create.sql
- 表模式文件:${db_name}.${table_name}-schema.sql
- 名称:import_db-schema-create.sql
- 名称:import_db.test_table-schema.sql
本节描述数据文件的命名规范。根据源文件的类型,数据文件的命名规范有所不同。
导入 CSV 文件时,数据文件的命名规范如下:
${db_name}.${table_name}${suffix}.csv.${compress}
- ${suffix} 是可选的,可以是以下格式之一,其中 xxx 可以是任何数字:
- ._xxx_xxx_xxx,例如 ._0_0_01
- ${compress} 是压缩格式,是可选的。云数据库 TiDB 版支持的压缩格式:.gzip、.gz、.zstd、.zst 和 .snappy。
例如,以下所有文件的目标数据库和表都是 import_db 和 test_table:
- import_db.test_table.csv
- import_db.test_table.01.csv
- import_db.test_table._0_0_01.csv
- import_db.test_table_0_0_01.csv
- import_db.test_table_0_0_01.csv.gz
导入 Parquet 文件时,数据文件的命名规范如下:
${db_name}.${table_name}${suffix}.parquet
${suffix} 是可选的,例如:
- import_db.test_table.parquet
- import_db.test_table.01.parquet
对于 Aurora Snapshot 文件,${db_name}.${table_name}/ 文件夹中所有带有 .parquet 后缀的文件都符合命名规范。数据文件名称前缀可由小写字母、数字、中划线(-)、下划线(_)以及英文点构成,文件后缀必须为 .parquet。
例如:
- import_db.test_table/mydata.parquet
- import_db.test_table/part001/mydata.parquet
- import_db.test_table/part002/mydata-part002.parquet
导入 SQL 文件时,数据文件的命名规范如下:
${db_name}.${table_name}${suffix}.sql.${compress}
- ${suffix} 是可选的,可以是以下格式之一,其中 xxx 可以是任何数字:
- ._xxx_xxx_xxx,例如 ._0_0_01
- ${compress} 是压缩格式,是可选的。云数据库 TiDB 版支持以下格式:.gzip、.gz、.zstd、.zst 和 .snappy。
例如:
- import_db.test_table.sql
- import_db.test_table.01.sql
- import_db.test_table.01.sql.gz
如果 SQL 文件是通过默认配置的 TiDB Dumpling 导出的,则默认符合命名规范。
如果 CSV 或 Parquet 等源数据文件不符合命名规范,您可以使用文件名模式手动将源数据文件映射到目标表。
在导入向导的映射页面中,取消勾选使用TiDB 文件命名规范进行自动映射,然后填写源、目标数据库和目标表字段。源字段支持 * 和 ? 通配符的文件名模式。