OBCP实验考试遇到的导入数据报错问题

周末参加了OBCPV4实验考试,有个试题是用load data旁路导入命令批量导入数据,我设置了安全目录并且调整好文件权限,执行导入命令时一直报错导入不进去,报错提示: ERROR 1172 (42000) : Result consisted of more than one row 没遇到过这个情况

我导入使用的命令大概是:
LOAD DATA /*+ PARALLEL(4) APPEND */ INFILE ‘/home/admin/xxx/xxxx.csv’ INTO TABLE xxxxx FIELDS TERMINATED BY ’ ’ LINES TERMINATED BY ‘\n’ ;

当时调试了半天也没导入进去,浪费了比较长的时间导致后面题也没做完。。。考试结束后我在自己的环境模拟Load data旁路导入数据也没复现这个问题,有没有人遇到过这个是什么原因?

1 个赞

这个错误是说每次只能导入一行数据么,这个不应该吧。我还没到实验考试呢

考试会提供待导入的数据文件,数据量不少

我也对这个问题比较好奇,搜索了下,有个提问和当前问题类似:

最终的解决方案:
LOAD DATA /*+ direct(false,11) parallel(16) */ INFILE ‘/data11/home/vitusyang/bulk_load_data/tidb/bulk_load_test.sbtest1.000000000.csv’ into TABLE sbtest1 FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘"’ LINES TERMINATED BY ‘\r\n’ (id, k, c, pad);

1 个赞

这样可以,可能是FIELDS TERMINATED BY '\t’配置不符合预期

LOAD DATA /*+ PARALLEL(4) APPEND */ INFILE '/home/admin/xxxx/xxxx.csv'
INTO TABLE salary
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n';
4 个赞

是字段分割符 不能用空格吗

报错可能有其他原因,但考试这个印象中我也遇到了类似错误,具体看文件内容,数据之间不是一个空格,是一个tab的距离,改成’\t’后数据导入都是正常

2 个赞

了解一下

终于有人反馈实验操作的部分了,了解一下!估计是字段分隔不对!

1 个赞

估计是这个原因,当时查了数据字段间隔很大,没想起来是tab

1 个赞