从 redshift 中删除外部表的所有分区

Posted

技术标签:

【中文标题】从 redshift 中删除外部表的所有分区【英文标题】:Drop all partitions from redshift for an external table 【发布时间】:2018-11-09 21:58:01 【问题描述】:

我正在尝试删除 redshift 集群中外部表上的所有分区。我无法找到一种简单的方法来做到这一点。我目前正在通过运行动态查询以从表中选择日期并将其与删除逻辑连接并获取结果集并像这样单独运行它来做到这一点

select 'ALTER TABLE procore_iad_ext.active_histories DROP PARTITION (values='''||rtrim(ltrim(values, '["'),'"]') ||''');' from svv_external_partitions where tablename = 'xyz';

值看起来像这样 ->["2009-03-10"]

寻找更简单的直接解决方案。谢谢。

【问题讨论】:

为什么不使用 drop table 并重新创建它,这将比删除分区快得多。 【参考方案1】:

请查看 Glue 目录。它提供了一个 UI 来轻松删除表/分区等。

【讨论】:

以上是关于从 redshift 中删除外部表的所有分区的主要内容,如果未能解决你的问题,请参考以下文章

从 AWS Glue 表到 RedShift Spectrum 外部表的日期字段转换

Hive 托管与外部表的可维护性

如何更改 Redshift Spectrum 中的外部表?

Hive管理表,外部表及外部分区表的深入探讨

hive外部表分区

从 hdfs 中删除文件是不是会删除相应的 hive 外部表分区?