【问题标题】:problems in copying a csv file from s3 to redshift将 csv 文件从 s3 复制到 redshift 的问题
【发布时间】:2017-03-15 18:05:19
【问题描述】:

如果我运行复制命令将 s3 中的 .csv 文件的内容复制到 redshift 中的表,则会收到以下错误。

错误:“字符串长度超过 DDL 长度”。

我正在使用以下复制命令:

COPY enjoy from 's3://nmk-redshift-bucket/my_workbook.csv' CREDENTIALS 'aws_access_key_id=”****”;aws_secret_access_key=’**** ' CSV QUOTE '"' DELIMITER ',' NULL AS '\0'

我想可以通过控制台打开 s3 为我的文件提供的链接。 工作簿的链接是: link to my s3bucket cvs file

上面的文件充满了许多我真的不明白的奇怪字符。 复制命令使用这些字符而不是我在 csv 文件中输入的信息。因此导致字符串长度超出错误。

我使用 sql 工作台进行查询。我在 redshift 中的 'stl_load_errors' 表有 raw_field_values 组件,类似于我上面提到的链接中的字符,这就是我如何知道它是如何接受输入的

我是 aws 和 utf-8 配置的新手。所以请感谢您对此的帮助

【问题讨论】:

    标签: csv amazon-web-services amazon-s3 utf-8 amazon-redshift


    【解决方案1】:

    您提供的链接指向一个.xlsx 文件(但扩展名为.csv 而不是.xlsx),它实际上是一个zip 文件。

    这就是为什么你会看到那些奇怪的字符,前两个是'PK',这意味着它是一个zip文件。

    因此,您必须先导出到.csv,然后才能使用该文件。

    【讨论】:

    • 没问题,很乐意提供帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-25
    • 2020-01-03
    相关资源
    最近更新 更多