【问题标题】:Redshift loading CSV with commas in a text fieldRedshift 在文本字段中使用逗号加载 CSV
【发布时间】:2017-11-14 16:00:35
【问题描述】:

我一直在尝试加载包含以下行的 csv 文件:

91451960_NE,-1,171717198,50075943,"MARTIN LUTHER KING, JR WAY",1,NE

注意名称中的逗号。我已经尝试了 REMOVEQUOTES、DELIMITER ',' 等的所有排列方式......但它们都不起作用。

我还有其他行在名称中间带引号,因此 ESCAPE 选项也必须在那里。

根据其他帖子, DELIMITER ',' ESCAPE REMOVEQUOTES IGNOREHEADER 1; 应该工作,但没有。 Redshift 给出“未找到分隔符”错误。

ESCAPE 是否会导致问题,我是否必须转义逗号?

【问题讨论】:

  • 能否请您编辑您的问题并提供一些示例输入行、您使用的 COPY 命令以及您收到的错误消息?这样,我们可以尝试重现这种情况。

标签: csv amazon-redshift


【解决方案1】:

我尝试使用 CSV 作为数据格式参数加载您的数据,这对我有用。请记住,CSV 不能与 FIXEDWIDTH、REMOVEQUOTES 或 ESCAPE 一起使用。

create TEMP table awscptest (a varchar(40),b int,c bigint,d bigint,e varchar(40),f int,g varchar(10));

copy awscptest from 's3://sds-dev-db-replica/test.txt'
iam_role 'arn:aws:iam::<accounID>:<IAM_role>'
delimiter as ',' EMPTYASNULL CSV NULL AS '\0';

参考:http://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-format.html http://docs.aws.amazon.com/redshift/latest/dg/tutorial-loading-run-copy.html http://docs.aws.amazon.com/redshift/latest/dg/r_COPY_command_examples.html#load-from-csv

【讨论】:

    猜你喜欢
    • 2012-11-17
    • 2014-04-25
    • 2020-06-23
    • 2014-10-22
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    相关资源
    最近更新 更多