【问题标题】:Upload error in S3 for CSV, despite having "ESCAPE ACCEPTINVCHARS"尽管有“ESCAPE ACCEPTINVCHARS”,但在 S3 中为 CSV 上传错误
【发布时间】:2015-02-18 19:26:03
【问题描述】:

这似乎是常见解决方案的常见问题:通过 S3 上传 CSV 并收到 Missing newline: Unexpected character 错误?只需在您的 COPY 语句中添加 ESCAPE ACCEPTINVCHARS

所以我这样做了,但仍然得到错误。

我的 CSV 如下所示:

email, step1_timestamp, step2_timestamp, step3_timestamp, step4_timestamp, url, type
fake@email.gov, 2015-01-28 12:1I:05, 2015-01-28 12:1I:05, NULL, NULL, notasite.gov, M Final
wrong@email.net, 2015-01-28 12:7I:19, NULL, NULL, NULL, notasite.gov/landing, M

我在 S3 中成功上传并运行以下 COPY

COPY <my_table> FROM 's3://<my_bucket>/<my_folder>/uploadaws.csv'
CREDENTIALS 'aws_access_key_id=<my_id>;aws_secret_access_key=<'
REGION 'us-west-1'
DELIMITER ','
null as '\00'
IGNOREHEADER 1
ESCAPE ACCEPTINVCHARS;

我的错误代码:

Missing newline: Unexpected character 0x6e found at location 4194303

错误的第一个字符:

:05,,,,,M 决赛 xxxx@yyyyy.com,2015-01-28 12:1I:05,,,,,M 决赛 xxx.xxx@yyyy.com,2015-01-28 12:1I:05,,,,,M 决赛 xxxx

【问题讨论】:

  • 作为附加信息(噪音?)。每次我尝试阅读错误时,我都会得到一个不同的意外字符(例如 0x6e、0x30、0x67 等)和不同的位置(例如 4194303、6508、9580)。但它总是在第 2 行。

标签: sql csv amazon-s3 copy amazon-redshift


【解决方案1】:

您的文件可能只需要在最后一行末尾换行。

ACCEPTINVCHARS 对于包含无效 UTF8 代码点或控制字符的文件没有帮助。

ESCAPE 用于在带有引用数据的文件中加载嵌入的引号。您的文件必须为此专门准备。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    • 2022-01-09
    • 2015-12-26
    • 2021-10-04
    相关资源
    最近更新 更多