问题现象
在 Linux 客户端连接 OceanBase 租户后,执行以下命令导入 CSV 数据文件:
LOAD DATA LOCAL INFILE '/tmp/**.csv'
INTO TABLE dbo.**
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 ROWS;
报错信息如下:
ERROR 1235 (0A000): LOAD data local not supported
原因分析
LOAD DATA LOCAL 语法的支持情况与版本相关:
- V4.2.3 及 V4.3.0 之后版本:支持
LOAD DATA LOCAL语法。 - V4.2.1 及之前版本:不支持
LOAD DATA LOCAL语法。
在使用旁路导入导入 CSV 文件时,需要把数据文件放在 observer 端。
适用版本
OceanBase 数据库 V4.x 版本
解决方案
把 CSV 数据文件放置在 observer 端,在使用旁路导入导入数据。
旁路导入适用场景
使用旁路导入时需注意以下限制:
- 小数据量表或索引表:不适合使用旁路导入。旁路导入需要重新建索引、重构外键,耗时较长。
- 原表数据量大但导入数据量小:不适合使用旁路导入。旁路导入会创建 hidden table,将原表数据和导入数据一起重新写入。