尽管有“ESCAPE ACCEPTINVCHARS”,但在 S3 中为 CSV 上传错误
Posted
技术标签:
【中文标题】尽管有“ESCAPE ACCEPTINVCHARS”,但在 S3 中为 CSV 上传错误【英文标题】:Upload error in S3 for CSV, despite having "ESCAPE ACCEPTINVCHARS" 【发布时间】: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 行。 【参考方案1】:您的文件可能只需要在最后一行末尾换行。
ACCEPTINVCHARS
对于包含无效 UTF8 代码点或控制字符的文件没有帮助。
ESCAPE
用于在带有引用数据的文件中加载嵌入的引号。您的文件必须为此专门准备。
【讨论】:
以上是关于尽管有“ESCAPE ACCEPTINVCHARS”,但在 S3 中为 CSV 上传错误的主要内容,如果未能解决你的问题,请参考以下文章
okHttp NetworkOnMainThreadException 尽管有新线程