【问题标题】:Exclude specific rows in COPY command on RedShift在 RedShift 上的 COPY 命令中排除特定行
【发布时间】:2017-11-09 04:12:12
【问题描述】:

我正在使用 COPY 命令将 csv 文件从 S3 加载到 Redshift 表中。这是一个 500 万行的文件,我收到一个加载错误,说第 259123 行有文本而不是数字。

加载时是否有排除该行的选项?我猜还会有更多类似的,所以我正在寻找一种方法来从导入中排除一组特定的行。

copy newtable from 's3://data.csv' credentials
'aws_access_key_id=ttt;aws_secret_access_key=ttt' 
delimiter ',' IGNOREHEADER as 1

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-redshift


    【解决方案1】:

    您可以使用“ESCAPE maxerror error_count”。假设你想逃避 1 个错误:

     copy newtable from 's3://data.csv' credentials
    'aws_access_key_id=ttt;aws_secret_access_key=ttt' 
     delimiter ',' IGNOREHEADER as 1`ESCAPE maxerror 1
    

    Amazon redshift documentation

    【讨论】:

    • 谢谢,我刚刚想通了,看到了您的回复。我根据文档使用了maxerror as 5,它可以工作。不确定 ESCAPE 是做什么的,但会查找它。
    • 它转义了特殊字符。
    猜你喜欢
    • 2016-06-10
    • 1970-01-01
    • 2018-11-01
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 2014-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多