【问题标题】:How to unload data from Redshift to S3?如何将数据从 Redshift 卸载到 S3?
【发布时间】:2020-02-11 07:32:05
【问题描述】:

我一直在尝试将一些数据从 Redshift 卸载到 S3 存储桶。 除了我收到以下错误:

亚马逊无效操作:无法删除活动门户; [SQL 状态=XX000,数据库错误代码=500310]

要注意 Redshift 和 S3 位于 2 个不同的存储桶中,因此我指定了卸载区域。

我试着查了一下,它提到我不能放下桌子。

所以我创建了一个“测试”表,我 100% 确定它没有连接到任何视图或其他,但我仍然遇到同样的错误。

我还尝试通过AWSQuickSolutions: Redshift Table Can’t Be Dropped or Drop Table Hangs 进行故障排除,但我无法访问svv_table_info

有什么办法可以卸载吗?

【问题讨论】:

  • 我很困惑。您谈到想要UNLOAD 表(这意味着将数据导出到S3),但随后您谈到删除表。您希望执行哪种操作?
  • 我想将我在 redshift 中的数据复制到 S3,以便我可以下载 csv。我无法在 SQL 工作台中执行此操作,因为我的记忆不允许这样做。我在网上搜索卸载会这样做。除了我收到我发布的错误。当我搜索错误时,它谈到了让我感到困惑的表丢失。
  • 你在使用 Redshift UNLOAD 命令吗? (您能向我们展示您的命令吗?)如果您卸载到同一区域的存储桶,它是否有效?卸载与删除表无关。
  • 这也发生在我身上。我通过从另一个应用程序运行 UNLOAD 来解决它,在我的例子中是 Redshift 控制台中的查询编辑器。
  • 我成功重启了会话

标签: sql amazon-s3 mysql-workbench amazon-redshift


【解决方案1】:

我昨天遇到了同样的问题。至少在我的事件中,数据仓库中有一个 sev-2。我使用的是亚马逊零售使用的 Amazon DWP,所以不确定这是否与 AWS 使用的服务相同。

tldr;这可能是红移提供商内部的服务器问题。

【讨论】:

    【解决方案2】:

    报告@nofinator 回复,因为它对我有用,也可能对其他人有帮助:

    通过从不同的应用程序运行 UNLOAD,在我的例子中,Redshift 控制台中的查询编辑器解决了异常Amazon Invalid operation: cannot drop active portal

    【讨论】:

      【解决方案3】:

      好的,所以我遇到了同样的问题。没有任何已知的解决方案适用于我的问题,因为:

      1) 集群与我创建的 S3 存储桶位于同一区域

      2) 我尝试通过 python、cli 和 redshift 运行 UNLOAD 命令,结果相同。

      3) 我尝试为 redshift 角色添加存储桶策略

      4) 我尝试使用 for arns(redshift 角色和 s3 角色)运行卸载命令

      最后,我得到了它的工作。发生了什么变化?我现在直接在我公司的网络上,而不是在我遇到这个问题时使用 VPN。

      什么最终对我有用:

      UNLOAD ('SELECT * FROM table where EXTRACT(YEAR FROM order_datetime_utc )=2019')   
                    to 's3://bucket/' 
                    REGION 'us-east-1'
                      iam_role 'arn:aws:iam::0000000000:role/RedshiftCopyUnload,arn:aws:iam::0000000000:role/S3Access'
                    parallel off
                    delimiter as '\t' 
      gzip;
      

      【讨论】:

        【解决方案4】:

        我在修改角色的 IAM 权限后遇到了这个问题。不幸的是,我不得不重新启动集群,然后我的 UNLOAD 命令才起作用。

        【讨论】:

          【解决方案5】:

          我不知道究竟是什么导致了这个错误,但我在卸载失败后得到它。

          我断开连接然后重新连接我的 sql 客户端并让它工作。不是超级方便,但比重新启动集群更好。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-03-12
            • 1970-01-01
            • 1970-01-01
            • 2018-03-22
            • 1970-01-01
            • 1970-01-01
            • 2014-09-01
            相关资源
            最近更新 更多