【问题标题】:Redshift COPY from the empty S3 partition来自空 S3 分区的 Redshift COPY
【发布时间】:2020-06-16 21:50:16
【问题描述】:

我正在为每个 S3 分区使用 Redshift COPY。

某些分区存在但没有文件(空):在 AWS 控制台中,空分区显示为

date_key=2020-05-28_$folder$

在这种情况下,COPY 命令会产生错误:

error:  The specified S3 prefix 'root/hive/tables/my_table/date_key=2020-06-13/' does not exist

一种解决方法是检查代码是否分区为空并且不调用 COPY。

但我希望 COPY 命令有一些标志(例如 MAXERROR),它将这种情况视为正常情况并且不会产生错误。

【问题讨论】:

    标签: amazon-redshift


    【解决方案1】:

    如果您使用的是没有文件的 s3 路径,则复制命令不会引发任何错误。您可能需要重新检查您在复制命令中提供的 s3 路径是否存在。

    【讨论】:

      【解决方案2】:

      redshift中的copy参数默认没有这个参数,参考AWS下面的文档。

      https://docs.aws.amazon.com/redshift/latest/dg/r_COPY-alphabetical-parm-list.html

      尽管您可以使用 for each loop 或 redshift 中的循环并在 s3 的目录列表中循环,其中至少有一个文件。您可以将目录列表传递给循环以消除此错误。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-12-21
        • 2016-08-08
        • 1970-01-01
        • 1970-01-01
        • 2023-03-12
        • 2018-12-10
        • 1970-01-01
        相关资源
        最近更新 更多