---
title: OBLOADER 支持导入的文件格式-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OBLOADER 支持导入的文件格式相关的常见问题和使用技巧，帮助您快速解决 OBLOADER 支持导入的文件格式的难题。
---
切换语言

- 简体中文
- English

划线反馈

# OBLOADER 支持导入的文件格式

更新时间：2024-11-04 11:11

适用版本： 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 命令行选项](https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000000518421)。

Previous

[如何根据业务场景选择合适的导入模式](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000486920)

Next

[OBProxy 连接 OBLOADER 导入大字段数据问题及解决方案](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000001356494) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
