OBLOADER 支持导入的文件格式
适用版本:V2.1.x、V2.2.x、V3.0.x、V3.1.x、V3.2.x、V3.3.x、V4.0.x、V4.1.x、V4.2.x、V4.3.x内容类型:TechNote
适用版本
OBLOADER 所有版本。
OBLOADER 支持导入的文件格式见下表:
| 格式(命令行选项) |
相关的命令行选项 |
适用的业务场景 |
CSV (--csv) CSV(Comma-Separated Values)格式是一种常用的文本文件格式,用于存储和交换数据。具有以下两大显著特性:
- 通用性:CSV 格式是一种非常通用的数据格式,其可以被几乎所有的数据处理工具和编程语言支持和解析。
- 可读性:CSV 文件以纯文本形式存储数据,每行代表一个记录,每个字段之间使用逗号进行分隔。
|
- --column-seperator:列分隔符,默认为英文逗号。
- --column-delimiter:定界符,默认为英文单引号。
- --line-separator:换行符,类 UNIX 系统下默认为 '\n';Windows 系统下默认为 '\r\n'。
- --escape-character:转义符,默认为 null。
- --skip-header:是否省略表头。
- --null-string: NULL 替换符。默认为 '\N'。
- --empty-string:空字符替换符。默认为 '\E'。
|
适用于几乎所有的业务场景。 |
CUT (--cut) CUT 格式又称 Delimited Text,与 CSV 格式类似。其与 CSV 格式的区别:
- 无定界符。
- 支持列分隔符为多个字符
- 一般行尾以列分隔符结束
|
- --column-splitter:列分隔符,默认为 '|'。
- --line-separator:换行符,类 UNIX 系统下默认为 '\n';Windows 系统下默认为 '\r\n'。
- --escape-character:转义符,默认为 '/'。
--trail-delimiter:是否省略行尾的列分隔符。
- --null-string: NULL 替换符。默认为 '\N'。
- --empty-string:空字符替换符。默认为 '\E'。
|
参考 CSV。多用于导入由某些老式平台导出的较为灵活的数据交换格式。 |
POS(--pos) POS 格式即 Fixed-Length (固定长度)格式。与 CSV 格式不同,其使用固定长度的字段来存储数据,每个字段的长度为预定义。 需要配合控制文件使用。 |
须与控制文件配合使用。 |
与某些仅支持定长格式的卸数平台进行交互。 |
SQL(--sql) 用于导入 SQL 数据文件。
注意
该格式仅支持一种 SQL 语法,即单条插入语句,不支持批量插入语句或其他任意 DML, DDL 等语句。
|
--line-separator:换行符,类 UNIX 系统下默认为 '\n';Windows 上默认为 '\r\n'。 |
适用于仅导入数据而非结构的场景。仅支持一种 SQL 写法,但性能较好。 |
MIX (--mix) 用于导入 SQL 混合格式的文件,文件内容可以为任意 OceanBase 支持的 SQL 语法。 也可以以兼容性转换的方式处理 mysqldump 导出的 SQL 文件格式。 |
- --character-set 'character_set_string'
用于指定创建数据库连接时的字符集。
- --file-suffix 'suffix_name'
导入数据时,用于指定数据文件的后缀名。
- --file-encoding 'encode_name'
用于表示读取数据文件时使用的文件编码,该编码不是数据库编码。
- --compat-mode
用于兼容性导入 MySQL 表结构定义。
|
适用于导入任意格式的 SQL 文件。兼容性更强,但对比 --sql 性能相差较大。 目前的实现是将文本全部读取进内存再解析,不适合处理数据量较大的文件。 |
Parquet(--par) Parquet 是一种二进制文件格式(不可读),采用了列式存储,专为高效存储和处理大规模数据而设计。其在大数据领域中被广泛采用,并支持 Apache Hadoop、Apache Spark、Apache Hive 等流行的大数据处理框架。 |
- --character-set 'character_set_string'
用于指定创建数据库连接时的字符集。
- --ignore-unhex
用于标识忽略对十六进制字符串进行解码。该选项仅适用于二进制数据类型。
- --file-suffix 'suffix_name'
导入数据时,用于指定数据文件的后缀名。
- --file-encoding 'encode_name'
用于表示读取数据文件时使用的文件编码,该编码不是数据库编码。
|
由 Hive, Spark 或其他能导出标准 Parquet 格式的数据源进行数据迁移。 |
ORC(--orc) 与 Parquet 类似,ORC 格式也是一种二进制文件格式(不可读),旨在提供更好的查询性能和压缩率,并且被广泛应用于大数据处理领域。 |
- --character-set 'character_set_string'
用于指定创建数据库连接时的字符集。
- --ignore-unhex
用于标识忽略对十六进制字符串进行解码。该选项仅适用于二进制数据类型。
- --file-suffix 'suffix_name'
导入数据时,用于指定数据文件的后缀名。
- --file-encoding 'encode_name'
用于表示读取数据文件时使用的文件编码,该编码不是数据库编码。
|
由 Hive, Spark 或其他能导出标准 ORC 格式的数据源进行数据迁移。 |
说明
命令行选项详情请参见 OBLOADER 命令行选项。