将数据从csv加载到Greenplum时出现Unicode错误

时间:2017-09-11 14:29:25

标签: csv unicode greenplum

我有一个csv文件,需要将其加载到Greenplum DB。 我的代码如下所示:

CREATE TABLE usr_wrk.CAR(
brand varchar(255),
model varchar(255),
ID    INTEGER
);

COPY usr_wrk.CAR FROM '...Car.csv' DELIMITER ',' CSV HEADER 

但是我收到了这个错误:

[22025] ERROR: invalid Unicode escape: Unicode escapes must be full-length: \uXXXX or \UXXXXXXXX.

例如,csv文件的行看起来像:

美洲虎,XJ,1

或者

铁龙,C4,91

我替换了所有非拉丁语单词,没有NULL或空值,但它仍然出现。有没有人对此有过想法?

P.S。

我没有管理员权限,只能在此架构中制作/删除和规则表。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下方法之一:

将usr_wrk.car从... / Car.csv删除',' ESCAPE为'OFF'NULL为' CSV HEADER;

OR

将usr_wrk.car从... / Car.csv DELIMITER'复制',' ESCAPE as'\'NULL as'' CSV HEADER;

默认转义是CSV格式的双引号。关闭它或将其设置为默认的TEXT格式转义(反斜杠)可能会让你解决这个问题。您还可以从文件中删除CSV标头,并将其声明为带有逗号分隔符的TEXT文件,以避免必须指定ESCAPE字符。

您确定汽车名称周围没有特殊字符吗?特别考虑变音符号或重音符号会使数据多字节并触发该错误。

您可以尝试:头部Car.csv | oc -c |更多并查看文件中是否显示任何多字节字符(假设您使用的是Linux系统)。

如果可以,您可以尝试使用GPLOAD实用程序加载文件。您可以将数据文件的ENCODING指定为“LATIN1”,这可能会让您超过您所遇到的UTF错误。

希望这会有所帮助。 吉姆